disponível para novos projetos

Software que resolve problemas reais.

Desenvolvedor full-stack. Construo aplicações web completas — do modelo de dados à interface — com Node.js, PostgreSQL e Next.js. Cada projeto aqui nasceu de uma necessidade concreta: cuidar de uma criança, organizar shows de uma banda, entender um financiamento.

4projetos publicados
Full-stackback, front e banco
SSO próprioauth centralizada
// projetos

O que eu construí

Quatro aplicações em produção. Três produtos e uma peça de infraestrutura que autentica todos eles.

🧡
no ar

Luccare

Rotinas de cuidado

Organiza a rotina diária de pessoas com necessidades especiais — medicações, alimentação, terapias — compartilhada entre pais e cuidadores, com histórico completo de execução e alertas de atraso. Nasceu do cuidado real com o Lucca.

Next.js 16ExpressPrismaPostgreSQL
🎸
no ar

Bandapp

Gestão de shows multi-artista

Do primeiro contato do cliente até o dia do evento. Funil de vendas que vira gestão operacional, com calendário central, checklists e alertas de prazo. Cada banda é um tenant isolado, com permissões granulares por vínculo.

Multi-tenantNext.js 16PrismaAuditoria
📊
no ar

Agiotapp

Memória de cálculo de financiamentos

Mostra parcela por parcela o que o banco não mostra: saldo devedor, correção monetária, juros, amortização e seguro. Suporta SAC e PRICE, indexação a TR, IPCA ou taxa personalizada, com aritmética decimal precisa.

SAC / PRICEDecimal.js130 testesNext.js 16
🔐
infraestrutura

GlobalAuth

Serviço de autenticação central

O SSO que autentica todos os apps acima. JWT com rotação de refresh tokens, isolamento por aplicação (cada app tem seu próprio segredo e TTL), painel administrativo e documentação Swagger. Nenhum app armazena senha.

JWTMulti-appSwaggerNode.js
// engenharia

Como cada um foi construído

Para quem quer olhar por dentro: decisões de arquitetura, problemas difíceis e o que aprendi em cada projeto.

Luccare — rotinas recorrentes, N:N com papéis

O problema

Cuidar de uma criança com necessidades especiais envolve várias pessoas — pai, mãe, cuidador, terapeuta — e uma rotina que não pode falhar. Sem um lugar central, cada um anota do seu jeito e ninguém sabe se o remédio das 14h foi dado.

A solução

  • Rotinas recorrentes com registro de execução e histórico
  • Dependentes compartilhados entre responsáveis (N:N com papéis)
  • Controle de acesso por dependente, não só por usuário
  • Verificação de e-mail e recuperação de senha

Arquitetura

Monorepo com backend/ e frontend/. Backend em camadas: Controller → Service → Repository → Prisma → PostgreSQL. Rotas protegidas por middleware JWT. Versionado com Semantic Versioning (v1.0.0).

Stack

Next.js 16React 19Tailwind 4 Node.jsExpress 5Prisma 6 PostgreSQLJWT
Bandapp — multi-tenant, permissões granulares, auditoria

O problema

Banda vive de show, e show tem um ciclo longo: proposta, negociação, contrato, produção, dia do evento. Isso costuma morar em grupos de WhatsApp e planilhas soltas — prazos passam, datas conflitam.

A solução

  • Um registro único de Show atravessa as 5 fases do ciclo
  • Calendário central mostra datas em negociação e fechadas
  • Cada banda é um tenant: dados totalmente isolados
  • Checklists e alertas automáticos de prazo

Decisões difíceis

Autorização por permissões granulares em vez de papéis fixos — perfis são só conjuntos nomeados de permissões. Identidade fica no GlobalAuth; autorização por banda é responsabilidade do app. Auditoria e observabilidade desde a v1.

Stack

Next.js 16React 19Tailwind 4 ExpressPrismaPostgreSQL GlobalAuth SSOSwagger
Agiotapp — motor de cálculo financeiro, 130 testes

O problema

Quem tem financiamento imobiliário raramente entende a própria parcela. O extrato do banco mostra o valor, não a conta: quanto foi correção monetária, quanto foi juro, quanto realmente abateu a dívida.

A solução

  • Memória de cálculo completa, do mês 1 ao fim do contrato
  • SAC e PRICE, indexado a TR, IPCA ou taxa personalizada
  • Projeção dos meses futuros com forward-fill do último índice
  • Recálculo em cascata quando um índice real é publicado

Cuidados de engenharia

Aritmética decimal precisa (nada de float nativo) — em dinheiro, erro de arredondamento vira bug de confiança. Respostas 404 idênticas para "não existe" e "é de outro usuário", para não vazar existência de recurso. 130 testes de backend cobrindo o motor de cálculo.

Stack

Next.js 16React 19Tailwind 4 ExpressPrismaPostgreSQL GlobalAuth SSO
GlobalAuth — o SSO que sustenta os outros três

O problema

Três apps independentes, três telas de login, três tabelas de senha para manter seguras. Reescrever autenticação a cada projeto é retrabalho — e cada cópia é mais uma superfície de ataque.

A solução

  • Um serviço central de identidade para todos os apps
  • Isolamento por aplicação: cada app tem jwtSecret e TTL próprios
  • Refresh tokens com rotação
  • Validação local do token no app — sem chamada de rede por request
  • Painel administrativo e API documentada em Swagger

O padrão que surgiu

Cada app mantém um shadow user local sem senha, referenciando a identidade do GlobalAuth. Identidade é centralizada; autorização continua local, porque só o app sabe o que cada usuário pode fazer dentro dele.

Stack

Node.jsExpressPrisma PostgreSQLJWTSwagger
// processo

Como eu trabalho

Um padrão que se repete nos quatro projetos — e que é a razão de eles se parecerem por dentro.

01

Especificação antes do código

Todo projeto começa com requisitos escritos, modelo de dados e decisões registradas. Ambiguidade resolvida no documento custa muito menos que resolvida em produção.

02

Arquitetura em camadas

Controller → Service → Repository → ORM. Regra de negócio não mora no controller, e SQL não vaza para o service. Previsível de ler e barato de testar.

03

Segurança por padrão

Autenticação centralizada, rotas protegidas por middleware, respostas que não vazam existência de recurso, senhas fora dos apps de produto.

04

Testes e verificação real

Testes automatizados no backend e verificação ponta a ponta contra a stack rodando de verdade — banco, auth e frontend juntos, não só mocks.

// stack

Ferramentas do dia a dia

JavaScript Node.js Express React 19 Next.js 16 Tailwind CSS 4 Prisma ORM PostgreSQL JWT Swagger / OpenAPI Git Linux / VPS

Vamos conversar

Aberto a oportunidades, freelas e boas conversas sobre arquitetura. Costumo responder rápido.