Artigos e tutoriais
O que eu aprendo construindo sistemas de verdade: backend, dados, tempo real e carreira.

Dá pra fazer fila sem RabbitMQ? | Protokol
Neste post, eu mostro como implementei uma fila confiável no Protokol usando apenas Postgres, sem RabbitMQ. A ideia é simples: salvar o dado e a intenção de notificar na mesma transação, e depois usar um worker com retry para garantir a entrega. Uma solução prática, barata e ótima para MVPs e monólitos.
O difícil de WebSocket não é mandar mensagem
Os 5 problemas de estado que todo app em tempo real tem — presença, reconexão, ordem, conexão morta e idempotência — explicados a partir de um bug real num Planning Poker.

Como Funciona um Sistema de Buscas de Verdade (e por que LIKE não é busca)
Você ainda usa LIKE pra fazer busca no banco? Entenda como sistemas de busca de verdade funcionam: normalização, índice invertido, fuzzy matching, ranking com TF-IDF e autocomplete com tries. Do conceito à prática, com exemplos de código e comparações entre Postgres, Elasticsearch, MeiliSearch e Typesense.

CQRS na Prática: Como Separar Leitura e Escrita Transforma Sua Arquitetura
CQRS separa leitura e escrita em modelos independentes. Veja como implementar Commands, Queries e sincronização via eventos com exemplos reais em C#.

Como Arquitetar um Sistema de Notificações que Aguenta Escala
Mandar um email parece simples até você ter 500 mil usuários e o SendGrid cair na Black Friday. Nesse post eu mostro como montar um sistema de notificações completo: fila, worker, fallback, idempotência, rate limiting e WebSocket distribuído.

Seu Sistema Está Lento? O Problema Não É o Banco de Dados — É Quando Você Processa os Dados
Seu sistema fica lento conforme os dados crescem? O problema não é o banco — é quando você processa. Aprenda o padrão de background jobs e rollups que Netflix, Nubank e Mercado Livre usam pra servir milhões de usuários sem travar.

O Título "Software Engineer" Vai Acabar? O Que Realmente Muda Com a IA
O head do Claude Code disse que o título Software Engineer vai sumir. O CEO da Anthropic disse que metade dos cargos júnior vai ser eliminada. Isso é real — mas o contexto muda tudo. Entenda o que de fato está acontecendo e o que você precisa fazer.

Como um bot de IA hackeou repos da Microsoft, DataDog e Trivy pelo GitHub Actions
Um bot autônomo de IA chamado hackerbot-claw explorou 5 repositórios open-source de Microsoft, DataDog e Aqua Security usando 5 técnicas diferentes de injeção em pipelines de CI/CD. No pior caso, deletou 178 releases do Trivy e removeu 32 mil estrelas. Entenda cada técnica e o que revisar nos seus workflows agora.

Você Não Precisa Escolher Entre REST, gRPC e GraphQL
REST, gRPC e GraphQL não são tecnologias concorrentes — são ferramentas diferentes para problemas diferentes. Neste guia você vai entender as principais diferenças entre eles, quando usar cada abordagem e como escolher a melhor estratégia para APIs modernas e arquiteturas de sistemas distribuídos.
SEO Morreu? Impacto do ChatGPT no Google
A HubSpot perdeu 81% do tráfego orgânico. O Stack Overflow viu as perguntas novas despencarem 75%. O ChatGPT mudou a forma como as pessoas buscam informação — e os dados mostram que não tem volta. Quem quebrou, quem se adaptou e o que fazer agora.

Minimal API no .NET
Minimal API é a forma mais direta de criar APIs no .NET — sem controllers, sem Startup.cs, sem cerimônia. Nesse artigo você vai entender o que é, como funciona, quando usar e como organizar quando o projeto cresce.

Como funciona um Load Balancer
Uma comparação simples mostrando o que acontece quando um servidor recebe todas as requisições sozinho — e como um load balancer resolve esse problema distribuindo o tráfego entre vários servidores. Um guia visual e direto para entender por que balanceamento de carga é essencial em arquiteturas modernas.

Qwen Code: a cópia do Claude Code que funciona (e é de graça)
O Qwen Code, agente de programação em terminal criado pelo Alibaba, parece uma cópia direta do Claude Code da Anthropic — interface, comandos e fluxo são quase idênticos. A diferença? Ele é gratuito. Neste teste, comparei os dois lado a lado criando três projetos reais: um simulador de load balancer, um visualizador de algoritmos de ordenação e um simulador de RabbitMQ. O resultado foi surpreendente: em tarefas simples, o Qwen entrega praticamente a mesma qualidade do Claude Code — mas em tarefas complexas ainda aparecem algumas diferenças. Será que vale pagar até $200 por mês pelo Claude Code ou o Qwen já é suficiente?

Cloudflare Recriou o Next.js com IA em Uma Semana — O Que Isso Realmente Significa
A Cloudflare reescreveu uma camada crítica do Next.js usando IA em apenas uma semana — e a internet entrou em pânico. Mas a história real não é sobre substituição de desenvolvedores. É sobre vendor lock-in, guerra de plataformas, edge computing e uma jogada estratégica para competir com a Vercel. Neste artigo, você vai entender o que realmente aconteceu, o papel real da IA nessa história e o que isso significa para o ecossistema e para sua carreira como dev.

Real-time: Polling, SSE ou WebSocket?
Tempo real na web não é sobre usar a tecnologia mais poderosa — é sobre escolher a conversa certa. Neste guia aprofundado você entende, com exemplos práticos e cenários reais, quando usar Polling, Server-Sent Events (SSE) ou WebSocket, quais são os custos invisíveis de cada abordagem e como decidir sem complicar sua arquitetura.

Design Patterns que todo dev deveria conhecer
Design patterns não são teoria acadêmica — são soluções práticas para problemas reais em software. Entenda Singleton, Factory, Builder, Strategy e outros padrões essenciais para escrever código mais organizado, desacoplado e preparado para crescer.

Seu App Não Acabou Quando Você Terminou o Código
Criar sistema ficou fácil. Publicar e manter no ar é outra história. Nesse guia, eu mostro a ordem correta de deploy, como evitar desastres com migrations, quando usar cloud gerenciada vs VPS e o roadmap pra sair do "roda local" pro "roda em produção de verdade"

RabbitMQ: o que ele faz de verdade (e por que muita gente usa errado)
RabbitMQ é muito mais do que “jogar mensagem na fila”. Neste post, eu explico como o RabbitMQ realmente funciona, o modelo mental por trás de Producer, Exchange, Queue e Consumer, quando usar (e quando não usar), a diferença real entre RabbitMQ e Kafka, e por que entender exchanges é o que separa quem escala sistemas de quem sofre em produção. Ideal pra quem quer usar mensageria do jeito certo em arquiteturas backend modernas.

Você realmente sabe como o JWT funciona? (Ou só acha que sabe?)
JWT não é bicho de sete cabeças, mas implementá-lo errado pode ser fatal. Um guia franco e direto sobre como funciona a autenticação moderna, do header ao refresh token, sem enrolação.

O que são Sistemas Distribuídos
Quando seu sistema começa a ficar grande demais pra caber em um lugar só, é aí que a brincadeira muda. Este post mostra o que acontece quando você distribui lógica, dados e processos e por que isso dá certo, mas nunca de graça.

Nubank vai matar o Trabalho Remoto
A decisão do Nubank de acabar com o home office e adotar o modelo híbrido pode acabar matando o trabalho remoto no Brasil!

O usuário é teu chefe e você precisa deixar ele feliz!
Um bom aplicativo não só resolve o problema como é: fácil de usar, entrega valor e é satisfatório de se usar. Por isso, uma boa UX é essencial pra ser não só um diferencial.

Versionamento Semântico
O Versionamento Semantico é um jeito "certo" de versionar seus sistemas e deixar tudo mais claro.

Como rodar o DeepSeek Localmente
Guia completo para instalar, rodar e integrar o DeepSeek na sua máquina usando o Ollama.

O que são Observers
Entenda o padrão Observer e como ele pode ser usado para notificar múltiplos componentes ao mesmo tempo