pular para o conteúdo

Fullstack que chega à produção testado, seguro e observável.

Desenvolvo de ponta a ponta em TypeScript, React, NestJS e Java, e só chamo de pronto o que passou por teste, medição e revisão de segurança.

agora Desenvolvedor Fullstack · Stech Soluções Tecnológicas

Três casos e o que decidi em cada um

ver todos os projetos
  • TaskForge

    Orquestrador que transforma uma demanda em grafo de tarefas, isola cada tarefa em sua própria worktree Git e executa em ondas paralelas, com revisão e merge humanos no fim. O planner é somente leitura, e nenhum agente consegue publicar sozinho.

    1. Pressão e restrição

      Agente escrevendo em repositório compartilhado é risco: precisa ser impossível, não improvável, que um deles publique sozinho.

    2. Decisão

      Separar planejamento de execução, manter o planner somente leitura, isolar cada tarefa em branch e worktree próprias e deixar revisão e merge com pessoa.

    • profissional
    • TypeScript
    • Node.js
    • Zod
    • Git worktrees
  • StechClub

    Plataforma educacional entregue de ponta a ponta: área pública, autenticação por SSO da empresa, trilhas, vídeo servido por link assinado no S3, quiz de aplicação e painel administrativo. Hoje usada por mais de 15 mentorados.

    1. Pressão e restrição

      A empresa já tinha SSO próprio, e vídeo de curso não pode ser servido por link direto do bucket.

    2. Decisão

      Reusar o SSO corporativo em vez de reimplementar autenticação, endereçar mídia por hash em prefixos separados e extrair o link por API autenticada.

    • profissional
    • React
    • Vite
    • TypeScript
    • NestJS
  • Conn-Pod

    Biblioteca que divide o trabalho de IA entre modelos diferentes: um executa, outro verifica. Cada papel tem leitura e escrita declaradas, tentativas limitadas e um recibo de evidência preso à versão. Cada tarefa roda na própria worktree Git, sob sandbox.

    1. Pressão e restrição

      Modelo que escreve código não pode ser o mesmo que aprova. E agente com acesso ao disco é superfície de ataque: o limite precisa ser verificável, não combinado.

    2. Decisão

      Separar executor e verificador por modelo, rodar cada tarefa numa worktree própria e deixar a escrita com o host, que confere depois se só mudou o que estava declarado. Assinatura é o perfil padrão; API paga só entra por opt-in.

    • pessoal
    • TypeScript
    • Node.js
    • Claude Code
    • Codex CLI
2026 — atual
Stech Soluções TecnológicasDesenvolvedor Fullstack
2025 — 2026
Cebrac CursosProfessor de Tecnologia da Informação
2024 — 2025
Outlier / Scale AIEngenheiro de testes
2024
Make Acelerador de VendasDesenvolvedor Frontend
2022 — 2024
Persys Projetos de Inovação TecnológicaDesenvolvedor Fullstack
2021 — 2022
Sintel S.A.Analista de suporte (estágio)
2020 — 2021
Itaú UnibancoInteligência de mercado (estágio)

Como leio um problema

Quatro perguntas que faço antes de considerar uma tarefa entregue.

  1. Contexto

    Antes de escrever código, procuro entender quem depende do sistema e o que já falhou nele.

  2. Restrição

    Prazo, time e dívida existente fazem parte do problema, então a solução precisa caber na restrição que existe.

  3. Decisão

    Escrevo o que escolhi, o que descartei e por quê, para a próxima pessoa não refazer a mesma discussão.

  4. Evidência

    Teste, métrica e revisão fecham a tarefa. Se não consigo mostrar em que cenário funciona, ainda não está pronto.

O que não negocio numa entrega

Qualidade
O teste nasce junto com a funcionalidade, não depois dela.
Segurança
Gate de segurança reprovado bloqueia o merge, mesmo quando parece ruído.
Operação
Deixo log e métrica suficientes para outra pessoa diagnosticar o problema sem precisar me chamar.
Comunicação
Escrevo a decisão num texto que continua útil depois que eu saio do projeto.

Se um desses casos parece com um problema seu, me escreve.