Em produçãoControle de gastos que começa com uma mensagem.
Finanças pessoais por conversa no WhatsApp: registre um gasto por mensagem e deixe o software determinístico cuidar dos registros, totais e lembretes.
- Papel
- Criador · produto e engenharia
- Áreas
- Finanças pessoais · Produtos conversacionais · IA
Almoço 38
Registrado: almoço, 38,00, em alimentação.
Quanto gastei com alimentação nesta semana?
Nesta semana, até agora:
- Alimentação
- 284.00
- Transporte
- 120.00
Conversa ilustrativa · valores de exemplo
O problema
Controlar gastos costuma falhar por um motivo banal: é mais um aplicativo, mais um formulário, mais uma coisa para lembrar na hora de pagar o café. A informação existe. Só raramente chega a algum lugar útil.
O Lukre parte de uma aposta menor. Se registrar um gasto parecer enviar uma mensagem, talvez ele seja registrado. Trabalha com o que as pessoas informam: não se conecta a bancos, não movimenta dinheiro e não oferece aconselhamento tributário ou de investimentos.
A experiência
Você conversa com o Lukre pelo WhatsApp. Digita um valor, descreve em áudio ou envia a foto de um recibo, e isso vira um registro categorizado. Depois pergunta no mesmo chat: quanto foi para alimentação no mês, o que aumentou, como está o orçamento. Uma família pode compartilhar o histórico, com cada pessoa escrevendo do próprio número.
Um painel web complementa a conversa. Nele, os registros viram gráficos e histórico, e algumas revisões ficam mais confortáveis que no chat: confirmar um recibo que precisa ser conferido, responder uma pergunta pendente, ajustar um limite de orçamento.
A arquitetura em poucas linhas

O Lukre são dois sistemas com um contrato entre eles. Uma camada de conversa, construída sobre o agente de código aberto Hermes, mantém a sessão do WhatsApp, lê cada mensagem e decide qual operação foi solicitada. Um serviço financeiro em Python é a única fonte de verdade para o dinheiro e expõe ao agente um conjunto selecionado de operações como ferramentas do Model Context Protocol (MCP).
O agente propõe; o serviço verifica quem está pedindo, lê os números com código determinístico, aplica as regras e grava o registro. A frase de confirmação que você recebe é construída a partir dos valores armazenados.
Decisões que o definem
Os números ficam no código
Para gastos digitados, o modelo repassa a mensagem; um analisador do domínio lê valor, data e categoria. Dinheiro usa Decimal de ponta a ponta.
A família nunca é um argumento
Ela vem da credencial do agente e é imposta novamente pela segurança por linha no PostgreSQL. O modelo não pode escolher outra família.
Cada mensagem é aplicada uma vez
O identificador da mensagem é reservado na mesma transação do registro; assim, uma mensagem reenviada não registra o gasto duas vezes.
Tecnologia por responsabilidade
Conversa
Hermes, um ambiente de execução de agentes de código aberto, com WhatsApp via Baileys. Minha parte é um plugin Python que controla a entrada de cada mensagem e fixa o remetente.
Model Context Protocol (MCP)
O limite estruturado das ferramentas entre agente e serviço financeiro: entradas tipadas, resultados JSON e nenhuma autoridade própria.
Aplicação e domínio
Python 3.12 e FastAPI, com Pydantic nas bordas e um pacote de domínio sem código web ou de banco de dados.
Registros
PostgreSQL via SQLAlchemy e Alembic, com toda tabela de locatários delimitada pela família.
Recibos e voz
Um modelo multimodal lê recibos e gera um candidato que precisa passar por verificações de confiança e aritmética. Áudios chegam como transcrições.
Painel
Páginas renderizadas no servidor com htmx e gráficos, lendo do mesmo serviço.

