Querido diário: Criei um app de estudo para a prova da CNH (Com IA)
TL;DR
Fala galera, tudo certo?
Passando aqui pra compartilhar com vocês um feito da minha parte. Não é nada demais, é oq nós mais fazemos... Criei um app usando IA, mas cara, o app ficou incrível e se você tem interesse em saber um pouco mais sobre "vibe codas" aqui vão algumas considerações.
Sobre o Agente de IA
Não foi um processo rápido, mas a utilização de agentes sem dúvida acelerou e muito o desenvolvimento desse app.
Usei minha assinatura da OpenAI com o Harness da Opencode.
De metodologia eu fiz o básico mesmo, inicialmente planejava e pedia pra codar depois (nada de BMAD ou GSD...) com o tempo, percebi que pedir a IA pra planejar tava consumindo mais tokens que o normal e tava levando mais tempo pra ter algo concreto, e como não nado em dinheiros, comecei a partir sempre pro modo de build (com raciocínio alto) com um prompt inicial um pouco mais detalhado, feito por mim mesmo.
E por incrível que pareça, funcionou muito bem, poucos ajuste que conseguia resolver rapidamente com o raciocínio baixo pra economizar tokens.
Subagentes
Cheguei a usar subagentes, mas no meu caso, nem sempre foi necessário.
Usava pra paralelizar tarefas pequenas (sempre pensando em não gastar meus queridos tokens atoa) e quando demandava uma certa analise, por exemplo, criar um subagente especialista em SEO, um UX/UI e um Dev pra fazer a landing page do app. Sinto que nesses casos, cai bem mais uns especialistas no processo.
Sobre o app
Bom, como o título traz, é um app de estudo pra prova da CNH ou, legislação, chame como preferir, feito em flutter que é um framework que tenho certa experiência.
Ao todo, foram cerca 3 meses até eu chegar nessa versão que eu considero um bom MVP, e provavelmente se eu não fosse tão chato com detalhes, talvez eu tivesse liberado o app bem antes.
O app possuí algumas ilustrações e banners que também gerei usando IA, infelizmente não sou um bom ilustrador ent tive que cometer esse pecado.
Oq eu faria diferente
Eu não sinto que tenha errado tanto no desenvolvimento desse app, mas tem algumas coisinhas que com ctz eu farei de outra maneira nos meus próximos apps.
Uma delas é: Definir bem o Design System.
Até que não me sai mal nessa, sempre deixei claro pro agente a importância de componentizar e reutilizar oq fosse necessário mas, em alguns momentos ele usava uns componentes padrões do android que não era bem oq eu tinha em mente, era fácil corrigir mas... se não houvesse necessidade de correção era melhor.
Então, da proxima, antes de codar qualquer funcionalidade, vou definir toda a biblioteca de componentes do aplicativo de deixar claro o uso estrito desses componentes.
Outro ponto é: testes e2e.
O app ficou bem grande, muitas telas, funcionalidades, tabelas... e a cada mexida no código, eu fico com uma pulga atrás da orelha, "E se eu tiver quebrando outra parte do app sem nem perceber". Sinto que testes e2e me ajudariam nisso mas venho negligenciando isso... não façam isso, façam bom testes, vou fazer esses testes.
Em sumo
PLANEJE TUDO! Cloud provider, banco de dados, Design System, Dominio... planeje. A última coisa que você deve se preocupar é com código, penso e farei assim daqui em diante.
Considerações finais
Pra quem quiser ver o app, ta na play store, o nome é "Cony: Estude para CNH"
Espero que acima de tudo, esse post ajude e possa nortear pessoas que estão aprendendo a utilizar agentes de IA.
Fiquem a vontade pra fazer perguntas sobre o processo de desenvolvimento.