Pular para o conteúdo

DuoFund

App de finanças para casais. Cada um vê o próprio dinheiro, os dois veem o dinheiro do casal, e uma coisa não se mistura com a outra.

Papel
Autor
Onde
Projeto pessoal
Período
01/2026 – 08/2026
Stack
Laravel 12 · Livewire Volt · Tailwind CSS 4 · MySQL 8

Desafio

App de finanças para casal costuma cair num de dois extremos. Ou tudo é compartilhado e você perde a privacidade do seu dinheiro, ou nada é, e a conta conjunta vira uma planilha à parte.

  • Cada um precisa ver o próprio dinheiro sem expor ao outro.
  • Os dois precisam ver o dinheiro do casal, com o nome de quem lançou.
  • Um lançamento não pode vazar de uma visão para a outra.

Abordagem

Resolvi com escopo. Toda transação, categoria, meta, cartão e desejo nasce em “Meu dinheiro” ou em “Nosso dinheiro”, e o filtro mora num lugar só: o trait ScopedToView.

  • Receita compartilhada cria sozinha a despesa espelho “Transferido para conta conjunta” na conta pessoal.
  • Servidor MCP com 14 ferramentas: dá para perguntar ao Claude quanto gastei com mercado no mês.
  • A API do MCP usa bearer token e limite de 60 requisições por minuto.
  • Nenhuma página faz requisição para fora: fontes, ícones e JS saem do próprio domínio.

Resultado

O app está no ar, é mobile-first e instala como PWA. Tem orçamento por categoria, metas, cartões, lista de desejos e relatório mensal com export CSV e PDF.

  • 143 testes com Pest e PHPStan nível 5.
  • Um teste renderiza todas as páginas com dados, nos dois escopos, para pegar N+1.
  • Cada push na master testa, monta o vendor no PHP 8.2 do servidor e confere se o site respondeu 200.

docker compose exec laravel.test composer check

Contato

Quer trocar uma ideia? Bora conversar.

Gosto de conversar sobre IA aplicada, PHP e arquitetura de software, seja para trocar experiência, falar de um projeto ou de uma proposta.

joliveiracode@gmail.com

// download iniciado

Currículo a caminho.

O PDF está baixando. Se quiser trocar uma ideia sobre IA aplicada, PHP ou arquitetura, é só chamar.