Kotlin no hackathon: seu bilhete para o pódio
Hackathons são adrenalina, noites sem dormir, toneladas de café e a magia de quando código bruto se transforma em um protótipo funcional em 48 horas. Mas se você ainda está levando Python ou Java para o hackathon, está perdendo uma vantagem. Kotlin é a linguagem que te dá um superpoder: escrever menos, fazer mais e não enlouquecer com bugs de madrugada.
Por que Kotlin é ideal para hackathons? É concisa, segura contra null, suporta corrotinas (assincronicidade sem dor) e funciona em qualquer lugar: do Android ao backend com Ktor. Neste artigo, compartilharei dicas reais de como se preparar para um hackathon em Kotlin e mostrarei exemplos de projetos com código que você pode adaptar para sua ideia. Vamos lá!
Fase 1: Preparação — 80% do sucesso
O hackathon não começa no momento em que o tema é anunciado, mas sim uma semana antes. Aqui está o que você precisa fazer para não escrever código do zero.
1. Monte um "kit de ferramentas essenciais" de bibliotecas
Não perca tempo escolhendo ferramentas. Defina antecipadamente a stack para o MVP:
- Backend:
Ktor(leve, rápido, assíncrono) +Exposed(ORM para BD) +H2ouPostgreSQL. - Frontend (se necessário):
Kotlin/JSouCompose Multiplatform— uma linguagem para todas as telas. - Assincronicidade:
Kotlin Coroutines+Flow. - Serialização:
kotlinx.serialization— JSON sem dor. - Testes: O nativo
kotlin.test— suficiente para verificação rápida.
2. Prepare um modelo de projeto
Crie um repositório com a estrutura básica: configuração do Ktor, conexão com BD, CRUD simples. Isso economizará 2-3 horas no primeiro dia do hackathon. Exemplo de arquivo inicial Application.kt:
import io.ktor.server.engine.*import io.ktor.server.netty.*import io.ktor.server.routing.*import io.ktor.server.response.*import io.ktor.server.request.*import io.ktor.http.*
fun main() { embeddedServer(Netty, port = 8080) { routing { get("/") { call.respondText("Hello, Hackathon!", ContentType.Text.Plain) } get("/api/health") { call.respond(mapOf("status" to "ok")) } } }.start(wait = true)}Fase 2: Escolha da ideia — não complique
Em hackathons, não vencem os projetos mais complexos, mas aqueles que funcionam e resolvem uma dor específica. Esqueça redes neurais e blockchain se você não tem um modelo pronto. É melhor fazer um produto simples, mas completo.
Exemplo 1: Bot do Telegram para coleta de feedback em Kotlin
Usamos Kotlin + TelegramBots (biblioteca para bots). O bot coleta feedback anônimo de funcionários e os envia para o Google Sheets.
Funcionalidades-chave: recebimento de mensagens, validação, gravação na planilha.
import org.telegram.telegrambots.bots.TelegramLongPollingBotimport org.telegram.telegrambots.meta.api.methods.send.SendMessageimport org.telegram.telegrambots.meta.api.objects.Update
class FeedbackBot(token: String) : TelegramLongPollingBot(token) {
override fun onUpdateReceived(update: Update) { val message = update.message.text val chatId = update.message.chatId.toString()
if (message.startsWith("/feedback")) { val feedbackText = message.removePrefix("/feedback ").trim() if (feedbackText.isNotEmpty()) { // Salva no BD ou envia para o Google Sheets saveFeedback(feedbackText) sendMessage(chatId, "Obrigado! Seu feedback foi recebido.") } else { sendMessage(chatId, "Por favor, escreva o texto após /feedback")