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.
DDD com EventStorming no iTOP: da venda ao check-in do ingresso
Entenda DDD na prática usando o iTOP: eventos, pedidos, pagamentos, emissão de ingressos, check-in, subdomínios, contextos delimitados, regras e TypeScript.
DDD na prática com EventStorming: do cliente ao primeiro processo
Entenda DDD em um domínio de advocacia: domínio, subdomínios, contexto delimitado, agregado, regras de negócio, EventStorming e código TypeScript simples.
Como usar o processo inicial de modelagem em Domain-Driven Design
Domain-Driven Design fica mais claro quando o time transforma negócio, domínio, arquitetura, times e código em uma sequência iterativa de decisões reais.
Produtos já eram automação antes do software
Automação antes do software: entenda como produtos, serviços e tecnologia já embalavam processos antes da IA.
Do feudalismo à IA: como ler revoluções passadas
Revolução da IA: entenda como feudalismo, impérios e indústria mudaram escassez, poder e trabalho para decidir melhor agora.
O mercado virou um experimento com IA
Node.js AsyncLocalStorage: contexto assíncrono sem prop drilling
AsyncLocalStorage no Node.js carrega contexto por request. Veja implementação, usos, benefícios e multi-tenancy com segurança.
Superpowers vs Agent Skills vs Matt Pocock Skills: qual usar?
Superpowers vs Agent Skills vs Matt Pocock Skills: compare autonomia, ciclo de vida e toolkit diário para escolher skills de coding com menos risco.
Loop Engineering: o que é, onde usar e quando evitar
Loop Engineering aplica agentes de IA em ciclos com meta, memória, verificação e limite. Veja onde usar em produto, código e rotina pessoal prática.
Engenharia de loops: como agentes de IA trabalham sem você pilotar cada passo
Engenharia de loops transforma prompts em ciclos com meta, estado, verificador e limite. Aprenda quando usar agentes de IA sem queimar tokens caros no produto.
Distorções cognitivas para engenheiros: como pensar melhor sob pressão
HTTP QUERY: o método seguro com body agora é RFC 10008
HTTP QUERY agora é RFC 10008: entenda quando usar o novo método seguro com body, como ele difere de GET e POST e quais cuidados adotar em APIs reais.
Como adicionei TTS nativo do navegador no blog
Tutorial de TTS no navegador para posts Next.js: pesquisei Web Speech API, planejei o player, implementei vozes, velocidade, testes e próximos passos.
O que é ser agêntico em IA: a releitura do carro autônomo
Agêntico em IA é autonomia com julgamento humano. Entenda a diferença para AI-assisted usando a metáfora do carro autônomo.
REST vs RPC: quando usar gRPC, tRPC, oRPC ou REST
REST vs RPC: compare performance, OpenAPI, erros tipados, streaming e DX para escolher entre API REST, gRPC, tRPC e oRPC em sistemas reais de produção.
Como desenvolver software mudou em 2026
Como construí o Ask Thiago: um RAG público para o blog
Ask Thiago mostra como criar um RAG público no blog com corpus publicado, fontes citadas, fallback sem LLM, AI Gateway opcional e feature flag segura.
Iniciantes não deveriam começar com JavaScript
JavaScript para iniciantes parece fácil, mas ensina hábitos perigosos cedo. Comece com compilador, tipos e imutabilidade antes de escalar codebases reais.
O gargalo do sistema web quase nunca é CPU, é I/O
Entenda por que sistemas web travam mais por I/O do que por CPU e como Node.js com TypeScript reduz latência sem arquitetura prematura.
Sandcastle vs Flue: runner de coding agent ou framework de agentes?
Sandcastle vs Flue: compare função, sandbox, Git, sessões, workflows e deploy para escolher entre runner de coding agent e framework de agentes.
Processo de code review: como revisar código sem travar o time
Deploy cancelado por Out Of Memory: cache do WiredTiger em containers
Um deploy no Dokploy travava durante o build do Next.js e era cancelado sem erro. A causa era falta de memória: duas instâncias de MongoDB em containers calculavam o cache do WiredTiger com base na RAM da VPS, não em um limite isolado por container.
RPC, REST e GraphQL: a mesma chamada remota com interfaces diferentes
Num app fullstack web em TypeScript, REST, GraphQL e RPC/tRPC parecem três mundos. Mas os três serializam dados, mandam por HTTP e voltam com a resposta. Vivem todos na camada 7 da OSI. O que muda não é a remotidade, é a interface mental do topo, e o preço de cada abstração. Com o contraste tRPC vs Server Action no mesmo create.
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
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
Partindo do artigo de agentes da Chip Huyen e olhando o código de um coding agent open-source, desvendamos o que é uma tool, como o modelo a chama e por que defensive prompt engineering não é opcional.
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
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
Como o framework RAP (Reasoning via Planning) transforma um LLM em agente e world model ao mesmo tempo, e usa Monte Carlo Tree Search para destravar planejamento deliberado — superando GPT-4 com CoT em Blocksworld usando apenas LLaMA-33B.
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
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
Python é a linguagem cola, PyTorch venceu pelo eager mode, e em produção quase ninguém serve PyTorch puro. O racional por trás do stack padrão de ML hoje.
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
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)
O racional para escolher Aurora PostgreSQL com pgvector em vez de um vector database dedicado, e um guia prático de setup, índice e queries com Drizzle.
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
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)
A diferença prática entre Product Requirements Document e Technical Specification, o fluxo natural entre os dois, e por que pular o PRD na era da IA é a forma mais rápida de implementar a coisa errada.
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?
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
Uma reflexão sobre sair da estabilidade, tentar uma carreira internacional em tecnologia e aceitar que algumas decisões fazem sentido mesmo quando doem.
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
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
Por que o desempenho de agentes de código depende mais do harness do que só do modelo, e como aplicar isso no dia a dia.
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
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
Padrões e dicas essenciais de TypeScript para deixar seu código React mais type-safe e fácil de manter.
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?
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 usar AbortController para cancelar requisições fetch e evitar vazamentos de memória em componentes 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 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
Função auxiliar para criar um ID aleatório customizado como a9Kl12
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
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
Estudo de caso sobre como usar o React Suspense
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
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
Ambos os conceitos são muito comuns e essenciais para quem desenvolve em JavaScript. São amplamente usados em aplicações Back-end e Front-end.
Primeira Next Level Week da Rocketseat
Minhas impressões e reflexões sobre o Next Level Week da Rocketseat
Renomeando uma Branch no Git
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
Vou mostrar 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
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
Minhas notas de aula e código do bootcamp da Rocketseat, nesse projeto criamos uma API com NodeJS
React Hooks + Redux (useSelector) + Unform
Produtividade com React Hooks + Redux (useSelector) e Unform
API React e Redux Hooks um guia prático
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
Como configurar o webpack, babel e os loaders do css e imagem, principais ciclos de vida do React
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
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
Minhas notas de aula e código do bootcamp da Rocketseat, nesse projeto criamos uma API com NodeJS
Criando um projeto em NODE
Veja o quão fácil é criar um boiler plate no Visual Studio Code
Conceitos do Node
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
Passo a passo para sincronizar seu fork com o repositório original usando git remote, fetch e rebase.
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
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
Baixando pacacotes npm dentro de uma 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
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
Curso Fundação Bradesco, curso online grátis
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
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
Projeto chat_ppsd 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
Curso de Postgress
Apostila com curso de Curso de Postgress
