Plenline
Um app web de orçamento familiar que mantém a lógica de uma planilha do Excel feita à mão: meses, contas, dívidas de cartão e pagamentos por data.


Desafio
Um orçamento familiar mantido numa planilha por anos: funciona, mas é difícil de compartilhar, fácil de quebrar e desconfortável no celular.
Solução
- A lógica de orçamento da planilha original: importação de .xlsx, dívidas e parcelamentos, cartões de crédito e débito, dinheiro como conta, dados bancários, saldos e histórico dos cartões, transferências e saques, vários pagamentos de cartão de crédito com estados pago e quitado, pagamento a mais levado para o mês seguinte, “dívida agora” e “saldo agora” com gráficos, câmbio com quatro casas decimais.
- Fluxo de caixa e análise: um formulário de fluxo de caixa, análise anual, exportação de um mês ou de um ano para Excel e CSV.
- Contas: login com Google, um espaço separado para cada usuário, um espaço familiar compartilhado com permissão de leitura ou edição, convites por e-mail, uma página “Meus dados” para exportar tudo ou excluir a conta, páginas de termos e de privacidade.
- Bot do Telegram: vinculado à conta, adiciona uma transação em um diálogo curto, entrada rápida, /balance e /today, lembretes diários de pagamento.
- Conforto: linhas com arrastar e soltar, barra lateral recolhível, página de ajuda no app, tour guiado de 21 passos, página “Novidades”.
- Confiabilidade da interface: respostas fora de ordem nunca trazem de volta um estado antigo, e exclusões esperam as gravações pendentes.
- Segurança e privacidade: cabeçalhos de segurança e CSP, limites de tentativas no login, logs sem parâmetros de requisição, relatórios de erro sem dados pessoais nem valores.
- Operação: nenhuma porta aberta — o servidor é acessado por um túnel da Cloudflare; verificações externas de disponibilidade a cada 2 minutos com alertas no Telegram; uma cópia de backup criptografada no R2 com verificação diária de restauração.
- Testes: cerca de 500 testes de backend, 35 specs end-to-end com Playwright e uma execução noturna repetida três vezes para pegar testes instáveis.
Resultado
A versão 1.0.0 roda em produção em plenline.com, e a família do autor a usa.