Stack
Next.js 16, React 19 e Prisma com fronteira server/client clara.
O produto foi montado como aplicação real de App Router, com SSR onde faz sentido e cliente apenas no ponto certo.
Case técnico premium
Um case técnico que organiza previsto e realizado, posição de caixa, cartões, recorrência, metas e importação CSV em uma base coesa, visualmente consistente e pronta para evoluir.
Stack
O produto foi montado como aplicação real de App Router, com SSR onde faz sentido e cliente apenas no ponto certo.
Hardening
Os fluxos principais foram endurecidos com regressões automatizadas, correção de hydration e bloqueio real de páginas protegidas.
Operação
A base suporta build standalone, seed idempotente, baseline de migrations e execução orientada a produção.
Produto
O valor do projeto não está só nos CRUDs, mas em tratar finanças pessoais como operação contínua com clareza de caixa.
Dor operacional
A maioria dos controles pessoais separa gastos, cartões, metas e recorrência em fluxos desconectados. O resultado é perda de clareza entre o que já aconteceu, o que ainda vence e o que de fato afeta o patrimônio.
Estrutura
A aplicação foi organizada para sustentar crescimento sem virar acoplamento acidental: App Router, módulos por domínio, boundaries explícitas entre servidor e cliente e serviços focados em contrato.
Execução
O trabalho foi conduzido com TDD, hardening progressivo de autenticação e UI, revisões de performance e deploy standalone pronto para PM2, reduzindo o espaço para regressão silenciosa.
Provas visuais
As imagens abaixo foram capturadas do próprio MyFinance em execução, com dashboard, fluxo de transações e revisão de importação CSV.

Dashboard patrimonial
Leitura de posição financeira com cards fortes, pendências e visão mensal.

Operação de transações
Listagem densa, organizada e orientada a operação diária em vez de IDs internos.

Importação CSV guiada
Revisão do preview antes da confirmação, protegendo a qualidade do dado importado.