O sinal, não o ruído.
Ensaios longos e notas rápidas sobre agentes de IA, engenharia de produto, carreira e a arte de entregar.
O harness é o produto
WorkOS, Stripe e OpenAI chegaram, por caminhos diferentes, à mesma conclusão sobre coding agents: o trabalho de engenharia sênior deixou de ser escrever código e virou construir o harness que faz o agente escrever código de forma confiável.
Onde Java com Spring Boot ainda ganha de Node.js (e onde não)
Não é Java vs Node no abstrato. É sobre onde a maturidade do ecossistema Spring resolve, de fábrica, problemas chatos de produção que no Node ainda são montados peça por peça, e onde Node + TypeScript continuam sendo a escolha óbvia. Com honestidade sobre Virtual Threads, tipagem que some no runtime e o que realmente decide: o requisito.
Voltando aos fundamentos: vou fazer a Machine Learning Specialization do Andrew Ng
Por que, trabalhando com LLMs e agentes todo dia, decidi voltar à base do ML clássico — e o que cada um dos três cursos da especialização do Andrew Ng cobre.
LlamaIndex: orquestrando seus dados com LLMs
Como o LlamaIndex resolve o problema de conectar dados privados a modelos de linguagem — do ingestion ao RAG, agents e query engines.
14 livros que todo engenheiro deveria ler — e a lição central de cada um
A lista de leitura não técnica da Chip Huyen, com um resumo e a lição prática que você leva de cada livro: de sistemas complexos a criptografia, passando por acaso, design e ética científica.
Anatomia de um agente: o que são tools, de verdade
MCP vs CLI: o que é cada um, quando usar e quando não
MCP (Model Context Protocol) padroniza como apps de IA descobrem e usam ferramentas externas. Mas nem todo agente precisa de MCP — CLI muitas vezes resolve melhor e mais barato. Explico o que é MCP, o fluxo client → server, casos de uso, quando não faz sentido, e por que CLI vence em vários cenários.
Minha jornada com IA: do ChatGPT em 2023 ao caos criativo de 2026
Como eu saí de um chat de perguntas e respostas para um workflow inteiro de desenvolvimento com agentes — Cursor, Claude Code, Pi.dev, Conductor — e por que 2026 é o ano de reconstruir a forma de programar.
Por que Markdown é a lingua franca dos LLMs e o que isso muda no seu RAG
Markdown não é só conveniência humana: é o formato em que LLMs foram treinados em escala. Veja por que ele melhora compreensão de tabelas, chunking e RAG — e onde a afirmação merece ressalvas.
Conductor: orquestrando vários agentes de IA no Mac sem virar bagunça
Minha experiência usando o Conductor para rodar Claude Code e Codex em paralelo em workspaces isolados, com git worktree, diff viewer e merge sem precisar abrir o GitHub.
Raciocínio é Planejamento: o que o RAP muda na forma como LLMs pensam
llama.cpp 100k estrelas: a era dos agentes locais começou
Por que o marco do llama.cpp e o Pi rodando Qwen3.6 no MacBook em modo avião marcam o início da segunda revolução da IA — local, soberana e plural.
Lenis no Next.js: como o scroll do site ficou cinematográfico em 19 linhas
O scroll do site era nativo, duro, com aquele 'tranco' do trackpad em página longa. Coloquei o Lenis via ReactLenis root e o resultado encaixou no resto do redesign sem hijack, sem quebrar âncoras e sem brigar com prefers-reduced-motion.
Em 2026, use Postgres — até onde o requisito deixar
Consolidar Elasticsearch, Redis, Pinecone, Kafka e MongoDB no Postgres é a aposta certa para a maioria — a era dos agentes só reforça isso. Mas com honestidade: onde o Postgres brilha, onde encosta na parede (CAP, sharding, replicação), o que usar em core bancário distribuído (CockroachDB, Spanner, MongoDB, Cassandra) e por que tudo começa no requisito.
Como construir uma plataforma de GenAI: tutorial em 7 camadas
Um passo a passo prático para evoluir uma aplicação de IA generativa — de uma chamada simples a um modelo até uma plataforma com RAG, guardrails, gateway, cache, agentes, observabilidade e orquestração. Baseado no ensaio de Chip Huyen.
Por que Python e PyTorch dominam a inferência de ML
Afinal, o que é um agente?
Uma definição honesta de agente de IA, com base em Chip Huyen, Anthropic e Cedric Chee: percepção + ação em um ambiente, com tools, memória e um loop de decisão.
RAG do começo ao fim: Input, Retriever e Generator explicados
Um overview denso sobre RAG (Retrieval-Augmented Generation): o que é, por que importa, o significado de Retrieval, Augmented e Generation, o pipeline de ingestão offline, o fluxo de consulta online, embeddings, similaridade por cosseno, HNSW e chunking.
The AI Engineering Stack: resumo aplicado
O que muda quando engenharia de IA deixa de ser engenharia de ML: as três camadas da stack, o porquê do produto vir antes do modelo e onde a complexidade real foi parar.
Pinecone: o vector database padrão pra RAG
O que é Pinecone, quando faz sentido usar, como funciona e os trade-offs em relação a pgvector, Qdrant, Turbopuffer e Upstash Vector.
pgvector + Aurora PostgreSQL para embeddings: por que escolhi (e como uso)
GoodAIList: o mapa vivo dos repositórios de IA open source
Por que o catálogo da Chip Huyen virou minha referência rápida para acompanhar o ecossistema de IA open source — e como tirar proveito dele.
6 armadilhas comuns ao construir aplicações com IA generativa
Notas e comentários sobre o ensaio da Chip Huyen — os erros previsíveis que times cometem ao sair do protótipo e ir para produção com LLMs.
Saindo da nuvem: por que 2026 é o ano da volta ao bare metal
Cloud repatriation deixou de ser tese de Twitter e virou movimento real. O racional por trás da volta ao bare metal, os números que importam e quando faz sentido para o seu time.
Tendências de stack de IA em 7 empresas: o que o Pragmatic Engineer revela
AWS Bedrock, Postgres com pgvector, LangChain e a descida ao metal: a leitura mais útil do levantamento não é a lista de ferramentas, é a curva que elas desenham.
PRD vs SPEC: qual escrever primeiro (e por que com IA isso importa mais)
LLM Wiki: a ideia do Karpathy para memória de verdade em agentes de IA
Karpathy propôs trocar o RAG por uma wiki persistente que a LLM mantém sozinha. Por que isso muda a conversa sobre memória de agentes, e o que o Fabio Akita acrescenta sobre o lado prático.
Qual seria a melhor linguagem de programação para agentes de IA?
Akita levantou a pergunta: e se a linguagem ideal fosse feita para LLMs editarem, não para humanos lerem? Minha aposta é que a resposta não é uma linguagem exótica nova, e sim contratos graduais sobre algo que os modelos já sabem escrever.
Luz volumétrica, anel de névoa e paralax 3D: reconstruindo o hero em CSS/SVG puro
Cinco técnicas usadas no redesign do hero da home — feixe volumétrico estilo Grok, borda de foto dissolvida, anel de névoa orgânico, paralax 3D no mouse e remoção de fundo com IA — ensinadas como prompts e como código.
O MacBook e a distro minimalista: por que 2026 é o ano de testar ferramentas de IA
Uma resposta ao Akita sobre oh-my-pi e OpenCode. A analogia com Linux funciona — mas talvez Claude Code seja o MacBook, e o Pi a distro minimalista que você admira mas não consegue manter.
Tenho mais medo do arrependimento do que de quebrar a cara
A nova identidade visual do meu website e blog: Minimalismo Futurista + IA Agentic
O racional por trás do redesign: paleta, tipografia, componentes visuais e decisões técnicas para criar um site mais autoral, moderno e vivo.
Harness Engineering: o que faz agentes de IA entregarem software de verdade
Modelos melhores ajudam, mas o salto de qualidade em agentes de código vem do ambiente ao redor: contexto, sensores, memória, gates e orquestração.
Níveis de carreira de Software Developer/Engineer
Um guia prático sobre os níveis de carreira em engenharia de software, do júnior ao distinguished engineer, e as habilidades esperadas em cada etapa.
Síndrome do impostor na tecnologia
Uma reflexão baseada na palestra de Julie Pagano sobre insegurança, ansiedade, confiança e os monstros invisíveis que afetam pessoas na tecnologia.
Agent Harness Engineering na prática
Git Worktree: o padrão para tocar múltiplas features e rodar agentes em paralelo
Várias árvores de trabalho, um só repositório. Como o git worktree elimina a troca de contexto destrutiva, roda vários agentes de IA em paralelo e por que venceu o clone manual.
Vibe Coding vs Agentic Engineering
Um olhar rápido e direto sobre a diferença entre vibe coding e agentic engineering.
Evitando agregação em memória e overfetching no MongoDB com Prisma
Como paramos de carregar coleções inteiras no Node.js e deixamos o banco fazer o trabalho dele.
Começando com Next.js 15
Aprenda a construir aplicações web modernas com Next.js 15, a versão mais recente com App Router e React Server Components.
Dicas de TypeScript para Devs React
Como adicionar texto borrado (blurred) em React Native
Uma forma estilosa de esconder informações no seu app React Native usando BlurView.
Organizando seu backend: services ou helpers?
A diferença entre services e helpers, e como organizá-los na estrutura de pastas do seu backend.
Usando for await...of para iterar arrays síncronos e assíncronos em JavaScript
Como o loop for await...of simplifica o tratamento de dados assíncronos, com exemplos práticos.
Conventional Commits na prática: padrões para um histórico Git melhor
Guia prático para escrever mensagens de commit melhores usando Conventional Commits — tipos, escopo, exemplos e cheat sheet.
AbortController: gerenciando memória de forma eficiente no React
Como validar endereço de entrega nos EUA com JavaScript e React
Duas abordagens para validar shipping address nos EUA: Google Maps Geocoding API e validação no cliente com React Hook Form + Zod.
Compartilhando variáveis de ambiente em um monorepo com Vite e Next.js
Como manter um único arquivo .env.shared no monorepo e gerar arquivos específicos com os prefixos do Vite e do Next.js.
Como aprender rápido
Técnicas de estudo e hábitos para acelerar seu aprendizado — sem cair na ilusão de que se aprende tudo em pouco tempo.
O que é dívida técnica?
Entenda o que é dívida técnica, quando ela acontece e como gerenciá-la para não comprometer a evolução do software.
Como criar um ID aleatório customizado no Postgres
Web3 - O que construir?
Conheça os tipos de soluções que você pode construir usando a tecnologia web3
Como fazer deploy de um monorepo com TurboRepo no Heroku
Github + Monorepo + TurboRepo + Heroku
Como mesclar dois ou mais repos em um só sem perder o histórico de commits
TurboRepo na prática
Tornando-se um Dev fitness
Os cinco hábitos diários que você deveria começar hoje.
React Suspense - do jeito certo
Básico sobre a Wax Blockchain
Links úteis e exemplos de código para começar a interagir com a Wax
Como conseguir o primeiro emprego
O que eu digo para os meus mentorados - Dicas para conseguir um emprego
Usando find com a flag delete
Um comando útil do Unix find.
Expansion Week na Rocketseat
Ao infinito e além - Segunda edição da EW/RS
Entendendo valores Falsy e Truthy em JavaScript
Primeira Next Level Week da Rocketseat
Minhas impressões e reflexões sobre o Next Level Week da Rocketseat
Renomeando uma Branch no Git
Comandos para poder renomear uma branch local e remota no repositório git/github
Tipos de Parâmetros das requisições REST
Conceituando e diferenciando os tipos de parâmetros da requisição em API's REST.
Dicas Rápidas sobre React Native
Link muito bom para aprender usar o Github e Git para contribuir em outros projetos:
Como instalar React Native com TypeScript
Introdução ao GraphQL com NodeJS e MongoDB
Como configurar o webpack, babel e os loaders do css e imagem, principais ciclos de vida do React
Como acessar o Redis de dentro do Docker e fazer consultas
Importar/Exportar arquivos no MongoDB utilizando o Meteor para importação
GoBarber - Aplicação Mobile com React Native
Minhas notas de aula e código do bootcamp da Rocketseat, nesse projeto criamos uma API com NodeJS
Utilizando ícones do react-native-vector-icons no React Native - ANDROID
Importar/Exportar arquivos no MongoDB utilizando o Meteor para importação
GoBarber Web - Aplicação Frontend com React
React Hooks + Redux (useSelector) + Unform
Produtividade com React Hooks + Redux (useSelector) e Unform
API React e Redux Hooks um guia prático
Vamos continuar a aplicação do GoBarber e aprender algumas técnicas avançadas e melhores práticas de desenvolvimento.
Arquitetura Flux um Ecommerce da Rocketshoes
Vamos construir um ecommerce da Rockectshoes para aprender o Flux com a implementação do Redux, usando Redux Saga para fazer o side effects das funcionalidades assíncronas
Conheçendo a Lib Polished para manipular cores no JS
Achei bem legal aumentar e diminuir o tom de cores com a lib polished, ela auxilia bem a estilização de componentes com Styled Components
Introdução ao React Native
Utilizando ícones do react-native-vector-icons no React Native - iOS
Importar/Exportar arquivos no MongoDB utilizando o Meteor para importação
Primeiro Projeto com ReactJS
Vamos criar uma aplicação com React e Styled Components que busca o repositório no github e salva no localStorage e podemos ver as Issues no github.
Introdução ao React
Como configurar o webpack, babel e os loaders do css e imagem, principais ciclos de vida do React
Continuando API do GoBarber
Vamos continuar a aplicação do GoBarber e aprender algumas técnicas avançadas e melhores práticas de desenvolvimento.
GoBarber - Aplicação Backend
Criando um projeto em NODE
Veja o quão fácil é criar um boiler plate no Visual Studio Code
Conceitos do Node
Apresento o ambiente, conceitos e características do Node, NPM, Yarn, Event Loop, Call Stack e muito mais
Meu Ambiente de desenvolvimento
Apresento meu hardware, IDE, Extensões, Terminal, Plugins, Fontes, Tema e Ferramentas para Desenvolvimento de Software
Ignorando git status quando muda permissão de pastas e arquivos no projeto versionando com git
Se alguém fizer um chmod 777 -Rf * em um projeto num diretório ou ...
Como manter seu repositório atualizado com o projeto principal
Função de Ordem Superior com Reduce
Função de Ordem Superior com Reduce — Compose do Recompose
Dez Regras para Alcançar a Fluência em Inglês
Li o ebook 10 Rules for Achieving English Fluency e gostei bastante. Compartilho aqui as dez regras, confira:
Funções de Ordem Superior — Modo Fácil
Pretendo explicar um pouco sobre Funções de Ordem Superior (High Order Functions) com JavaScript.
Buscando e Ordenando registros por data no Mongo com Meteor
Buscando e Ordenando registros por data no Mongo com Meteor
Como baixar pacotes npm na rede com proxy
Como instalar Node.js via archive binário no Linux?
Como instalar o Node.js no Linux a partir do archive binário oficial.
Help para aprender inglês
Técnica de interiorização de conteúdo em inglês
Practice Itself
Practice Itself — Começando a falar em inglês — Baby Steps
Criando um Code Snippet no VSCode
Veja o quão fácil é criar um boiler plate no Visual Studio Code
Básico sobre Composição de Componentes
Como importar e exportar arquivos no MongoDB utilizando o Meteor
Importar/Exportar arquivos no MongoDB utilizando o Meteor para importação
Dica de Leitura - JS Cangaceiro
Dica de Leitura - Cangaceiro Javascript, uma aventura no sertão da programação
Configurando o domínio para o Github Pages
Olá Pessoal, blz! =) fiz um tutorial para quem quiser hospedar sites estáticos no github e personalizar um domínio.
Cientista da Computação
Minha colação de grau em Bacharelado em Ciência da Computação pela Uniderp em Campo Grande/MS
Processamento Paralelo e Sistemas Distribuidos
Livro de lógica com OO em Java
Dica de leitura Aplicando Lógica Orientada a Objetos em Java
Emulando suas aplicações diretamente do celular
Emulando suas aplicações diretamente do celular
Curso de Postgress
Apostila com curso de Curso de Postgress