
O Facebook Global Hackathon, competição organizada anualmente, é dividida em duas etapas, uma nacional e outra mundial. Convidado por um amigo que estuda na UNICAMP, decidimos montar um grupo e participar. Esse projeto disponibiliza 24 horas em cada uma de suas etapas para desenvolver uma ideia e apresentá-la para uma banca avaliadora. O único requisito obrigatório para a participação no evento era ser universitário. Houve também uma prova online de programação, mas não recebemos informações sobre o peso dela para sermos selecionados.
Meu grupo era composto pelo Rodrigo Amaral, especialista em algoritmos e participante de programação competitiva na UNICAMP. Pelo Rafael Eiki, nosso especialista em UI/UX, programador javascript e pitcher, no qual já ganhou vários prêmios por projetos na área de educação e sistemas sócio-enativos. Pela Leila Pompeu, também especialista em UI/UIX e programadora Javascript. E por mim, Victor Capone, que trabalho com java backend aqui na Matera e tenho especialidade em algoritmos e estrutura de dados.

A etapa nacional
A primeira etapa, a nacional, aconteceu no escritório do Facebook na capital paulista entre os dias 7 e 8 de Abril de 2018. Com mais de 10 equipes participantes, tivemos das 12h do sábado, até as 10h do domingo para programarmos nossas ideias e montar uma apresentação de 3 minutos para a banca avaliadora.
Como a edição que participamos era freestyle, decidimos fazer algo tangível e, ao mesmo tempo, que trabalhasse com uma vertente social. Após toda a discussão, foi decidido criar um jogo educativo para ensinar programação através do uso de “blocos” que, no nosso caso, eram QRCodes impressos com os comandos disponíveis.
Essa etapa gerou três vencedores. Ficamos em primeiro lugar com o projeto PaperPlay, um jogo mobile para ensinar programação com uma ideia central parecida com o scratch, site desenvolvido pelo M.IT. que permite a construção de programas por meio de blocos já pré definidos. O diferencial do nosso projeto é que os blocos eram físicos, ou seja, usamos QRCodes impressos em folhas de papel. Em segundo lugar, foi um aplicativo que filmava a plateia, usando a API do google de reconhecimento facial e de expressões para tentar dizer se a apresentação estava ou não agradando ao público. Já em terceiro lugar, foi um BOT para Instagram com várias funcionalidades, como transformar áudios em texto e monitorar grupos você participa de modo que é notificado apenas quando determinados assuntos do seu interesse forem mencionados.
A vitória nessa etapa fez com que fossemos classificados para a etapa mundial, que aconteceu nos Estados Unidos entre os dias 15 e 16 de Novembro de 2018.
A etapa mundial
A conquista do primeiro lugar no pódio do Hackathon no Brasil, permitiu competirmos com mais de 20 equipes de diversos lugares do mundo. Nos Estados Unidos participaram os ganhadores das etapas nacionais de cada um dos países que possuem sede do Facebook em seu território.
Já treinados pela experiência da primeira fase, mantivemos em mente não utilizar tecnologias nas quais não tínhamos familiaridade durante o Hackathon. Devido o prazo de entrega e o stress da competição, usar tecnologias que você se sente confortável, economiza tempo e energia, aspectos fundamentais para se dar bem nesse processo.
Na etapa mundial, decidimos desenvolver um aplicativo chamado Lelo. Esse programa foi feito para ajudar pessoas com analfabetismo funcional. O conceito é simples: a pessoa carrega um texto no app e, automaticamente, aplica algumas técnicas que facilitam a leitura. Alguns exemplos das funcionalidades do aplicativo são, por exemplo, resumir o texto, dividi-lo em parágrafos, simplificar frases trocando palavras por sinônimos, etc.
O projeto que mais me chamou a atenção foi o Ctrl+F, o mesmo atalho de busca em maioria dos editores de texto. Esse grupo desenvolveu um sistema que permite pesquisar termos em um vídeo e te dão o momento exato no qual aquele termo foi utilizado. O Ctrl+F foi feito usando a API de Speech-to-text do Google. Já a equipe vendedora utilizou o GoogleAR Core, a biblioteca de Realidade Aumentada do Android. Esse aplicativo, que usava RA, permitia a navegação indoor utilizando um mapa do prédio em que você está. Achei bem bacana o resultado final do que eles fizeram.

Como se preparar para a competição
Como o Hackathon é uma competição grande, é fundamental se apegar a conhecimentos prévios. A ansiedade misturada com o stress, costuma ser um fator decisivo nas ações realizadas e, consequentemente, no resultado do projeto. É claro que é possível utilizar tecnologias não muito conhecidas pela equipe, mas é importante que não sejam utilizadas como peça central no desenvolvimento da atividade. Uma boa estratégia, é definir as features centrais do que você quer desenvolver e features extras que serão implementadas de acordo com o tempo disponível.
Além disso, um ponto relevante é a criatividade na qual lidamos com o projeto. Em algumas edições são dados temas que devem ser seguidos, no nosso caso foi livre, porém, de qualquer forma, é interessante mostrar à banca avaliadora coisas diferentes e inovadoras.
A importância da empresas incentivarem a participação de seus funcionários em eventos como o Hackathon
A participação dos profissionais em eventos como esse, é uma experiência muito legal. No Facebook, por exemplo, os Hackathons são parte da cultura da empresa. Atividades como essa incentivam a descoberta de novas tecnologias e fomenta a inovação. Alguns projetos de hackathon do Facebook tornam-se produtos reais e, começar organizando-as dentro de casa, é uma forma não só de estimular os profissionais, mas também como uma forma de encontrar talentos dentro da própria empresa.