Luccare
Organiza a rotina diária de pessoas com deficiência — 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.
Analista de sistemas há mais de uma década — Delphi, Oracle, Node.js e integrações que não podem falhar. Nas horas livres, construo aplicações web completas com Node.js, PostgreSQL e Next.js, sempre a partir de uma necessidade concreta: cuidar da rotina diária de uma pessoa com deficiência, organizar os shows de uma banda, entender um financiamento.
Cinco aplicações em produção, do zero: quatro produtos e uma peça de infraestrutura que autentica os que precisam de login. Nenhum é exercício de tutorial — todos resolvem um problema que eu tinha.
Organiza a rotina diária de pessoas com deficiência — 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.
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.
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.
Afina violão, guitarra e baixo pelo microfone do aparelho — sem instalar nada e sem cadastro. Reconhece a corda sozinho e diz se é para apertar ou afrouxar. O áudio nunca sai do dispositivo.
Um único serviço de autenticação para os três apps — mas com base de usuários isolada por aplicação: cada app tem seu próprio cadastro, segredo JWT e TTL. Refresh tokens com rotação, painel administrativo e API documentada. Nenhum app de produto armazena senha.
Para quem quer olhar por dentro: decisões de arquitetura, problemas difíceis e o que aprendi em cada projeto.
Cuidar de uma criança com deficiência 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.
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).
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.
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.
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.
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.
Começou como brincadeira entre amigos. Hoje é o único afinador que uso. Os mais populares exigem instalar app, com anúncio e permissão demais.
Fácil no violão, difícil no baixo. Corda grave vibra devagar demais, e o zumbido da tomada cai bem no meio das duas mais graves. Cada instrumento ganhou seu próprio ajuste de escuta e filtro.
O cálculo roda fora do navegador, então dá para testá-lo com sons gerados por computador: 105 testes garantem acerto dentro de 1 cent — diferença que o ouvido não percebe.
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.
jwtSecret e TTL própriosCada app mantém um shadow user local sem senha, referenciando o usuário no GlobalAuth. O que é compartilhado é a infraestrutura de autenticação, não a conta: o serviço é um só, as bases de usuário são separadas. Autorização também continua local — só o app sabe o que cada usuário pode fazer dentro dele.
Os projetos acima são de tempo livre. No trabalho a stack é outra — mais antiga, mais crítica e com muito mais dinheiro passando por ela.
Responsável pelas regras de negócio do sistema financeiro — contas a pagar e contas a receber — em uma operação com volume alto de transações.
Estou na empresa desde 2010 e passei por operação, processos e BI antes de assumir desenvolvimento. Conhecer o negócio por dentro mudou a forma como eu escrevo software: requisito raramente chega pronto, e a maior parte do trabalho é descobrir o que o sistema realmente precisa fazer.
Pix, boletos, DOC/TED, pagamento de tributos e Serasa Limpa Nome — conectando um sistema legado a APIs modernas, onde falha silenciosa vira prejuízo. A integração de Pix que implementei e mantenho já processou mais de 900 mil transações.
Delphi (7, XE3 e XE6) convivendo com Node.js. Manter software que roda há décadas e ainda assim entregar coisa nova exige respeito ao código que já existe.
Consistência e performance exigidas ao mesmo tempo: queries e rotinas PL/SQL que fecham com precisão de centavos e ainda assim precisam responder rápido sobre uma base que só cresce.
Quatro anos desenvolvendo QlikView e rotinas de ETL: indicadores para vendas, operação e negócios. Foi ali que aprendi a olhar dado com desconfiança.
Um padrão que se repete em todos os projetos — e que é a razão de eles se parecerem por dentro.
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.
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.
Autenticação em serviço dedicado, rotas protegidas por middleware, respostas que não vazam existência de recurso, senhas fora dos apps de produto.
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.
Aberto a oportunidades, freelas e boas conversas sobre arquitetura. Costumo responder rápido.