Nessas últimas semanas estive trabalhando pra criar umas aplicações que eu queria já há um tempinho.
Aproveitei para aprender mais sobre como as ferramentas de IA funcionam para criação de código, principalmente em tecnologias em que eu tenho experiência - PHP, MySQL, Javascript... - e foi... interessante...
Embora tive algumas idas e vindas pra corrigir o que o Gemini no Antigravity tava pirando, foi uma experiência legal, principalmente por eu saber o que eu - ou o Gemini - tava fazendo, eu conseguia prever problemas e antecipar vulnerabilidades e ficou bem claro que meus quase 20 anos na área de desenvolvimento de software não serão jogados no lixo e que eu não devo ser substituída por uma IA, pelo menos não pelos próximos anos (e bem, estar atuando hoje com gestão ao invés de programação propriamente dita pode facilitar um pouquinho isso hahah mas eu vejo que as IAs dependem muito de que a pessoa tenha uma boa noção do que ela tá pedindo pra ela fazer, principalmente pra saber o que corrigir quando ela fizer errado hahahah). Ainda com todas as minhas críticas às IAs generativas (ou gerativas, as duas opções estão corretas no português), e principalmente às big techs que empurram goela abaixo IA em qualquer coisa pras pessoas, à forma como elas foram treinadas inicialmente, uso de dados sem autorização e o impacto no meio ambiente, eu vejo hoje o valor nos cenários em que elas fazem sentido. De fato, elas auxiliam bastante na automatização da implementação, e mesmo programar sendo uma das coisas mais legais nessa área, foi interessante experimentar e ver o que eu poderia fazer com essas coisas.
Dito isso, criei algumas coisas bem interessantes, que vou compartilhar aqui:
Thoth

A primeira coisa foi um sistema de gerenciamento de biblioteca pessoal. Esse é um problema que eu e a minha esposa temos há uns anos e que ela já tinha me sugerido criar, só me faltava o tempo (e o foco!) pra implementar. E Thoth veio com essa proposta, de ser um organizador de bibliotecas de livros, sejam livros que eu já tenho, sejam livros que eu quero ter. A aplicação permite fazer buscas via ISBN em uma série de serviços, o que facilita bastante o cadastro dos livros (mesmo que alguns livros infelizmente não existam nessas bases de dados). É possível compartilhar uma biblioteca com outros usuários, permitindo que todos possam gerenciar em conjunto e adicionar seus próprios livros, mover e copiar livros entre bibliotecas e por aí vai.
Thoth foi criado com Laravel, está disponível aqui nas minhas aplicações e vocês podem utilizar já, agora, nesse momento!
Painel da Casa

Casas inteligentes são legais. Eu sempre quis deixar a minha casa toda automatizada e tô no processo pra isso! Rotinas e automações para luzes, ambientação, ar condicionado e tudo mais, isso facilita um bocado. Mas você sempre precisa falar com a Alexa. E há momentos em que a gente não quer (ou não pode) fazer isso. Pra isso, eu criei um painel pra gerenciar meus dispositivos e executar ações quando eu estiver na minha rede local. Utilizei o Home Assistant, Docker e um notebook antigo que eu tinha em casa como servidor pra fazer esse carinha rodar e a aplicação é essencialmente muito simples, não foi necessário um framework completo como o Laravel pra atender ao que eu precisava.
Camviewer

Esse foi mais um experimento do que uma necessidade propriamente dita haha tenho aqui em casa algumas câmeras em que uso o aplicativo Yoosee para gerenciar e controlar. Meu escritório fica nos fundos da casa e eu queria uma maneira de ver a câmera da frente sem precisar abrir o aplicativo do celular. Aí com isso surgiu o Camviewer. Ele hoje só roda no meu desktop, no meu apache local (não rolou de colocar no mesmo notebook que o Painel da Casa está instalado, para o streaming das câmeras eu preciso do ffmpeg e ele é meio pesado pra rodar naquele notezinho antigo!). Há algumas limitações, para uma interface web eu preciso fazer um cache das imagens de tempo em tempo, então ele não é realmente em tempo real, uma aplicação desktop seria mais eficiente. Mas foi um bom experimento e me deu ideias pra outras aplicações do tipo!
Central

Nesse a coisa foi bem mais pessoal. Uns 15 anos atrás mais ou menos (não tenho certeza exatamente hahaha) eu criei um site chamado Favorizza. A ideia do site era ter uma maneira de organizar meus links - eu já era meio que acumuladora de links na época e isso só piorou hahaha -, sejam artigos, downloads, vídeos interessantes, programas a baixar, enfim, coisas que quero ler mais tarde. O site tinha categorias, encurtador de URL e eu e meus amigos usávamos bastante na época, mas acabou ficando por aí e eu acabei encerrando o site uns anos atrás.
Aí mais recentemente eu senti a necessidade de ter uma maneira de salvar links que eu me interessavam entre dispositivos diferentes, sim, favoritos funcionam (até veio daí o nome da aplicação original, se você não percebeu hahaha), grupos do whatsapp somente comigo também, em partes, mas eu queria algo que fosse fácil de usar, de criar, buscar e de fato, organizar.
E com isso surgiu a Central. Comecei com uma aplicação simples, baseada em arquivos json locais. Essa versão vocês podem clonar do meu Github e utilizar num servidor local ou hospedagem que vocês tenham que rode PHP. Mas eu queria fazer algo mais flexível e escalável, e aí o Laravel veio novamente como uma boa solução. E aí a brincadeira começou a ficar mais interessante. Eu e o meu novo amigo Antigravity fomos reconstruindo toda a aplicação e de quebra algumas funcionalidades adicionais foram incluídas, como a criação de páginas públicas pra compartilhar links (tipo aqueles que o pessoal usa nas bios das redes sociais, pra compartilhar suas outras redes). E assim a Central se tornou minha nova homepage, o site que eu abro para acessar as minhas coisas.
Central está disponível também entre as minhas aplicações aqui no Laralabs pra vocês utilizarem!
Notya

Agora vamos à última e mais complexa empreitada dessas últimas semanas. Não pela complexidade do backend, a estrutura de dados é na real bem simples e se tratando de integrações externas, Thoth é bem mais complexo. Mas já o frontend foi o que pegou aqui! São muitas regras, muitos eventos que se confundem e um bocado de condições pra que tudo funcione da melhor forma possível.
Notya veio com um problema que eu tenho com todos os gerenciadores de notas que existem. Já usei Evernote quando era gratuíto, já usei Onenote, Notion, Google Keep, Microsoft Loop e mais um punhado de outros. Não gostei realmente de nenhum deles. Alguns eram complexos demais, ou simples demais, ou bugados demais. Eu queria algo do meu jeito.
Assim como a Central, comecei com um projeto mais simples como prova de conceito, utilizando arquivos markdown organizados na pasta da aplicação mesmo. Vocês podem também clonar essa primeira versão standalone no meu Github. Mas aí, depois que eu vi que a coisa poderia dar certo eu resolvi expandir e deixar a coisa mais séria! Nosso amigo de sempre Laravel veio mais uma vez, mas fui exigindo um bocado do coitado nessa. Foi interessante que descobri que muitas funcionalidades que o MVP tinha o Antigravity simplesmente "esqueceu" de implementar na nova versão. Aí foi um longo processo de testes pra que tudo estivesse funcionando como deveria. A interface ficou mais bonita, ganhou algumas funcionalidades novas (como compartilhar publicamente uma nota), a experiência mobile ficou melhor e uma porção de bugs foram corrigidos.
Mas valeu a pena?
Valeu, e muito! Foi uma experiência interessante, aprendi conceitos e ferramentas que posso utilizar no meu dia a dia de trabalho e posso apoiar o pessoal que eu lidero, falar da minha experiência usando essas coisas, o que eu vejo que é legal, o que eu vejo que não é legal e como a gente pode tornar essas ferramentas aliadas nos cenários corretos, já que nessa altura do campeonato não podemos apenas lutar contra elas. Uma coisa importante a se estar atento quando se está utilizando essas ferramentas é no limite de uso. É fácil fácil acabar perdendo o controle e estourar os limites. O Antigravity tem uma cota de uso para cada modelo utilizado, vale ir trocando de modelo enquanto a cota está sendo "recarregada"!
Como falei no decorrer do post, vocês podem acessar essas minhas aplicações aqui e minhas outras coisas tão aqui (ambas as páginas foram feitas na Central!).
Tô super aberta à ideias, sugestões e se encontrarem algum bug, não deixem de me mandar por e-mail no laralabs@outlook.com ou nas minhas redes sociais :)
Até a próxima!
Lara Labs