WheresMyMoney
Plataforma de finanças pessoais com IA local, bot no Telegram e backend em Go.

Visão Geral
Sistema completo de gestão financeira com categorização de gastos por IA — rodando modelos locais via Ollama para preservar privacidade. Integrado ao Telegram para registrar transações por linguagem natural, com dashboard web, API REST em Go e infraestrutura própria em VPS.
O Desafio
Aplicativos de finanças pessoais existentes compartilham seus dados financeiros com serviços de IA de terceiros para fornecer categorização. Eu queria insights com IA sem comprometer a privacidade das transações — o que significava rodar os modelos de linguagem localmente.
Além disso, a fricção de abrir um app para registrar um gasto faz com que você esqueça a maioria deles. A integração precisava viver onde eu já estava: no Telegram.
Arquitetura
Frontend
- Next.js (App Router)
- TypeScript
- TailwindCSS
Backend
- Go (API REST)
- PostgreSQL
- Docker Compose
Camada de IA
- Ollama (LLMs locais)
- Processamento de linguagem natural
- Inferência de categoria
Infraestrutura
- VPS (hospedagem própria)
- Nginx (proxy reverso)
- Webhook do Bot do Telegram
Principais Decisões Técnicas
Por que Go no backend?
A API REST processa requisições simultâneas de webhooks do Telegram e consultas do dashboard web. O modelo de concorrência do Go (goroutines) lida com isso naturalmente sem complexidade de callbacks, e o binário compilado tem um consumo de memória insignificante em uma VPS pequena.
Por que Ollama para LLMs locais?
Rodar o Qwen2.5:7b localmente significa zero custos de API, nenhum dado enviado a serviços externos e controle total sobre o modelo. A imagem Docker do Ollama tornou o deploy trivial. A desvantagem é a latência de inferência (~2-3s por categorização), o que é aceitável para o registro assíncrono de gastos.