heliofilho.devNewsletter
← Projetos
No ar

Planilio

Não é um app de registrar gasto: projeta como o seu saldo vai estar nos próximos meses, a partir do que você já tem fixo e parcelado.

Tipo
Produto
Ano
2026
Stack
Next.js · Supabase · Tailwind · TypeScript

O problema

Apps de finança pessoal mostram o que já aconteceu - um extrato bonito do passado. Eles não respondem a pergunta que importa de verdade: dá pra gastar isso hoje sem comprometer o mês que vem?

A solução

Um motor de projeção que calcula o saldo futuro sozinho, direto do que já está cadastrado em entradas fixas, saídas fixas e parcelas - sem precisar digitar previsão nenhuma. A Visão Diária mostra o saldo corrido dia a dia com cor (Método Breno), e a Projeção marca o mês em que uma dívida termina de ser paga: o "respiro", quando sobra mais dinheiro todo mês dali pra frente.

Arquitetura

Next.js 14 (App Router)→Supabase (banco + auth)→Tailwind CSS→PWA instalável→Bot de WhatsApp: lança gasto, consulta saldo/fatura e define limite por categoria via texto→Assinatura via Stripe: checkout, portal de autoatendimento e webhook

Decisões técnicas

Projeção não tem campo de digitação: é 100% calculada a partir de Dívidas & Fixos
Visão Diária usa o "Método Breno" - saldo corrido dia a dia, com cor verde/amarelo/vermelho
Parcela some da curva sozinha quando termina de pagar - marca o mês do "respiro"
Interpretador do WhatsApp é puro (sem rede, sem banco, sem relógio escondido): dá pra testar "gastei 1.250,50 no mercado" sem subir webhook nenhum
Todo valor digitado passa por um parser dedicado: converter "1.250,50" direto com Number() vira 1.25 e grava errado em silêncio, já voltou duas vezes por caminhos diferentes

Trade-offs

Gasto variável usa média dos últimos 3 meses, não categoria por categoria
PWA em vez de app nativo: instala sem loja, mas sem os recursos exclusivos de app nativo
Interpretador do WhatsApp é baseado em regra, não em IA: mais rápido e previsível, mas só reconhece os padrões de frase que já foram escritos
README

Controle e projeção financeira pessoal. Não é um app de registro de gastos: o objetivo é responder duas perguntas - "como meu saldo vai estar daqui a seis meses" e "posso gastar isso hoje".

Funcionalidades

  • Login com Supabase Auth
  • Projeção - curva de saldo futuro, mês do "respiro", simulador de gasto e quebra por categoria mês a mês
  • Visão Diária - saldo corrido dia a dia (Método Breno), com cores verde/amarelo/vermelho
  • Analítico - gráfico de fluxo de caixa, breakdown por categoria
  • Dívidas & Fixos - entradas fixas, parcelas com fim definido, antecipação
  • Metas - progress rings pra objetivo financeiro
  • Casais - conta compartilhada entre duas pessoas
  • Assinatura - planos pagos via Stripe, com checkout, portal de autoatendimento e fluxo de cancelamento próprios
  • PWA - instala no celular como app, sem loja

Bot de WhatsApp

Dá pra lançar gasto, consultar saldo e fatura, e definir limite por categoria mandando mensagem de texto, sem abrir o app:

  • "gastei 45 no mercado" lança a transação, já categorizada
  • "errei, era 45" ou "corrige #A3F9C2 pra 60" corrige o valor de um lançamento (o último, ou um específico pelo código curto que toda confirmação mostra)
  • "limite mercado 500" cria ou atualiza o teto mensal de uma categoria
  • "saldo" e "fatura" consultam o estado atual
  • Mensagem ambígua não vira um lançamento chutado: o bot pergunta de volta. Gravar errado a partir de um palpite é pior que não gravar, porque ninguém revisa o que não sabe que existe

Ferramentas gratuitas

Duas calculadoras abertas, sem login, pra quem só quer resolver uma conta pontual: "Posso gastar hoje?" e um simulador de empréstimo e troca de dívida.

Como o motor de projeção funciona

A aba Projeção não tem digitação própria: é calculada 100% a partir do que está cadastrado em Dívidas & Fixos.

TipoComo cadastraO que o motor faz
Entrada fixa (salário)Entrada · recorrentereplica todo mês, pra sempre
Saída fixa (aluguel, internet)Saída · recorrentereplica todo mês, pra sempre
Parcela (moto, empréstimo)Saída · total + já pagasreplica até a última parcela, aí some da curva
Gasto variável-média dos últimos 3 meses de lançamentos do dia a dia

O mês em que a última parcela termina é marcado na curva: é o respiro, quando sobra mais dinheiro todo mês dali pra frente.