P&D pessoal

Finances

Um app pessoal de livro-razão e orçamento com arquitetura Postgres-first: uma instância PostgREST, um frontend estático, nada mais.

1/4Dashboard com grupos de contas, patrimônio líquido e histórico de composição de ativos

Depois de cinco anos como usuário intenso de apps de finanças comerciais que viviam mudando a própria estrutura, escrevi os requisitos que eu de fato tinha e construí a ferramenta. Ela roda no menor servidor que tenho e serve de laboratório para o quão fino um backend pode ser.

Em resumo

  • PostgreSQL é o backend: o PostgREST expõe o esquema, a autenticação é uma RPC no Postgres com tokens hasheados e permissões por papel
  • O frontend React/Vite é estático e é implantado em qualquer lugar (Vercel, Cloudflare, uma VM gratuita)
  • Livro-razão multicontas, saldos acumulados, histórico de composição de ativos e orçamentos anuais com acompanhamento mensal
  • Um servidor MCP expõe o razão para ferramentas de IA classificarem e analisarem

Por que construí

Todo app de finanças que usei acabou redesenhando seu modelo de dados debaixo de mim: categorias se fundiram, orçamentos viraram outra coisa, exportações pararam de bater. Eu não queria funcionalidades; queria registrar transações do mesmo jeito por uma década. Depois de usar essas ferramentas diariamente por anos, os requisitos estavam incomumente claros, então construir saiu mais barato do que se adaptar de novo.

Arquitetura

O objetivo de projeto era facilidade de implantação. Um único processo PostgREST na frente do PostgreSQL é todo o backend: tabelas, views e funções definem a API, papéis do banco impõem permissões, e o login é uma procedure que valida um token hasheado e emite um JWT. Não há servidor de aplicação para atualizar ou escalar. O frontend é um app React, Vite, TypeScript e Tailwind que compila para arquivos estáticos, então pode viver na Vercel ou no Cloudflare enquanto o banco fica em uma pequena instância gratuita da Oracle. O Docker Compose sobe tudo localmente sem configuração.

Funcionalmente cobre contas organizadas por tipo, um razão com totais acumulados por dia e exportação, um gráfico de histórico de composição de ativos e orçamentos planejados anualmente e executados mensalmente com mínimo, máximo e restante por categoria. O servidor MCP permite que um assistente leia saldos e lance transações diretamente.

Mais projetos

Todos os projetos