Caixa por Conversa
Controle de entradas e saídas por mensagens de texto, com confirmação antes de gravar no banco.
- Node.js
- PostgreSQL (Supabase)
Contexto
MVP de uma aplicação financeira em que o registro é feito por conversa, em linguagem natural.
Problema
Registrar e consultar movimentações financeiras de forma simples, sem planilhas ou formulários.
Solução
O usuário envia mensagens como “recebi 150 por um corte”. O sistema cria um rascunho, pede confirmação e só então grava no PostgreSQL.
Decisões técnicas
- Rascunho pendente separado dos lançamentos confirmados.
- Valores guardados em centavos e proteção contra mensagem duplicada.
- Isolamento por perfil com RLS no PostgreSQL e auditoria de criação, correção e reversão.
- Simulador de terminal que usa a mesma lógica do webhook.
Funcionalidades
- Comandos sim, cancelar e corrigir.
- Listar, ver detalhe e desfazer lançamentos.
- Resumo de hoje, semana, mês ou período.
Aprendizados
- Separar rascunhos de lançamentos confirmados evita gravar valores antes da confirmação.
- Representar valores em centavos e tratar mensagens duplicadas ajuda a preservar a consistência dos registros.
Melhorias futuras
- Interpretação de mensagens mais robusta.
- Suporte a áudio e exportação.
- Planejado: validar o webhook da WhatsApp Cloud API e o adaptador experimental do Telegram.