Desenvolvedor Full-Stack com foco no ecossistema TypeScript/React/Next.js no front-end e Node.js (Fastify, Clean Architecture, princípios SOLID) no back-end. Atuo hoje na StarSeg unificando arquitetura de sistemas e integrando hardware IoT (ESP32) via MQTT/WebSockets, e mantenho projetos autorais como o micro-SaaS Git Assets. Também escrevo artigos técnicos sobre SOLID e boas práticas de engenharia.
Atibaia, SP
Skills
Linguagens
TypeScript
JavaScript
C
Python
Frontend
React.js
Next.js
Tailwind CSS
shadcn/ui
React Hook Form
Zod
Backend
Node.js
Fastify
Clean Architecture
S.O.L.I.D.
APIs REST
Banco de dados
PostgreSQL
Prisma ORM
Drizzle ORM
MongoDB
DevOps
Docker
CI/CD
Nginx
Turborepo
IoT
Internet das Coisas
Sistemas Embarcados
ESP32
Projetos
Git Assets
Autor e mantenedor
Micro-SaaS para personalização de perfis GitHub com assets SVG dinâmicos. Reestruturado como monorepo (pnpm workspaces + Turborepo) com pacotes de responsabilidade estrita — database, core, api e web — para maximizar o uso de Server Actions do Next.js consumindo a lógica de negócio diretamente.
Evoluído da v1 (validação de hipótese) para uma arquitetura modular v2
TCC e projeto de iniciação científica: um coletor gamificado de tampinhas plásticas (inspirado em jogos de basquete) para incentivar reciclagem em escolas, com contagem em tempo real via ESP32/Arduino e painel web de monitoramento.
Pesquisa de campo com 135 pessoas: 98,5% participariam da forma gamificada de descarte
Aplicação full-stack para organização e acompanhamento de metas semanais, construída durante a Next Level Week da Rocketseat (trilha JavaScript Full-Stack Intermediário).
Plataforma educacional SaaS em monorepo (Next.js/NestJS), com processamento assíncrono de mídias pesadas via Redis (BullMQ), transcrição automática com Whisper AI e resiliência offline-first usando IndexedDB.
Plataforma para resolução de desafios de programação em Python, com validação automática de submissões através de um validador isolado em PHP e painel administrativo para gestão de desafios e casos de teste.
Aplicação RAG (Retrieval-Augmented Generation) para documentos legais, construída em workshop do GDG sobre Google Cloud Platform: Cloud Storage e Firestore como vector database, Cloud Run acionado via Eventarc, e Vertex AI/LangChain orquestrando o LLM.
De 'Merge é Deploy' para Release Engineering com GitHub Actions
Defende o abandono do modelo de 'merge é deploy' automático em favor de uma arquitetura de Release Engineering robusta com GitHub Actions, onde apenas tags SemVer anotadas acionam o deploy através de seis estágios de validação — testes, verificação de migrações em banco descartável e smoke tests.
Ensina que módulos de negócio não devem depender diretamente de ferramentas externas concretas, mas sim de interfaces abstratas que você controla, permitindo trocar implementações sem alterar a lógica central.
Ensina que interfaces devem ser pequenas e específicas, evitando forçar classes a implementarem métodos desnecessários — a solução é dividir interfaces grandes em contratos menores e bem-definidos, resultando em código mais modular e menos acoplado.
Explica que uma classe mãe deve poder ser substituída por suas classes filhas sem que a aplicação quebre, evitando implementações que lançam erros ou removem funcionalidades herdadas — o que exige melhor planejamento da hierarquia de classes.
Explica que o código deve ser 'aberto para extensão e fechado para modificações', evitando cadeias de if-else e switch através de polimorfismo e abstrações, permitindo adicionar novos comportamentos sem alterar código existente.
Explica que cada classe deve ter apenas uma razão para ser modificada, evitando as chamadas 'God Classes' que acumulam múltiplas responsabilidades, e demonstra como dividir funcionalidades em classes especializadas alinhadas com arquiteturas como Clean Architecture.
Apresenta os 5 princípios SOLID como diretrizes fundamentais para melhorar a qualidade, escalabilidade e manutenibilidade do código, com exemplos práticos em TypeScript que demonstram anti-padrões e boas práticas para cada princípio.