System design: Twitter/X, feed de notícias em escala

“Design a social media feed like Twitter.” Se YouTube é sobre arquivos grandes, WhatsApp sobre entrega garantida, e Uber sobre dados em movimento, Twitter é sobre o problema mais traiçoeiro de todos: fan-out. Um único tweet de alguém com 50 milhões de followers precisa aparecer na timeline de cada um deles, em segundos. No papel parece simples: “me mostra os posts de quem eu sigo em ordem cronológica”. Em produção vira outro bicho quando a escala é: ...

28 de maio de 2026 · 17 minutos · Ricardo Martins

System design: Uber, geolocalização e matching em tempo real

“Design a ride-sharing platform like Uber.” Se YouTube é sobre throughput de dados e WhatsApp sobre latência de mensagens, Uber é sobre dados em movimento. Literalmente. Milhões de carros se movendo simultaneamente, e o sistema precisa saber onde cada um está, a cada segundo, pra conectar passageiros e motoristas em tempo real. O desafio do Uber é único porque combina: Geolocalização em tempo real (milhões de pontos se movendo) Matching otimizado (encontrar o melhor motorista, não apenas o mais próximo) Cálculo de rota e ETA (com condições de tráfego variando) Pricing dinâmico (oferta e demanda flutuando por região e minuto) Tudo isso com latência perceptível pro usuário de < 3 segundos entre apertar “pedir corrida” e ver o motorista atribuído. ...

26 de maio de 2026 · 17 minutos · Ricardo Martins

Cost engineering para AI: quando GPU idle custa mais que seu carro

Nono post da série. No anterior, blindamos a plataforma contra prompt injection e data leakage. Agora: como não falir no processo. tl;dr: GPU cara sem controle vira incidente financeiro. Resolva com auto-shutdown, right-sizing, Spot, budgets e escolha certa entre Standard e PTU. A segunda-feira de R$650.000 Segunda de manhã. Café na mão, e-mail do financeiro no subject line: “URGENTE: fatura Azure $127.000, explicar.” Forecast era $42.000. Dois VMs ND96isr_H100_v5, provisionados três semanas atrás pra um “experimento rápido”, nunca desligados. A ~$98/hora cada, rodando 24/7 por três semanas: $33.000 em GPU parada. Ninguém usando. Ninguém lembrava que existiam. ...

25 de maio de 2026 · 6 minutos · Ricardo Martins

System design: WhatsApp, messaging em tempo real

“Design a messaging system like WhatsApp.” Se o YouTube é o exercício clássico de throughput e storage, WhatsApp é o exercício clássico de latência e conexões persistentes. O desafio muda completamente: em vez de entregar arquivos grandes pra milhões de viewers passivos, precisamos entregar mensagens pequenas pra bilhões de usuários em tempo real e garantir que nenhuma se perca. WhatsApp processa mais de 100 bilhões de mensagens por dia. O que impressiona aqui não é só a escala, mas a pressão simultânea por latência baixa, conexões persistentes e durabilidade. ...

24 de maio de 2026 · 14 minutos · Ricardo Martins

System design: YouTube, streaming de vídeo em escala

“Design a video-sharing platform like YouTube.” Essa é uma das perguntas mais clássicas de system design porque um sistema de vídeo encosta em quase tudo que costuma cair na entrevista: upload grande, processamento assíncrono, storage massivo, CDN global, adaptive streaming e leitura pesada com cache. Nesse artigo, vamos aplicar o framework do post anterior pra projetar uma plataforma de vídeo do zero. Não vou fingir que estamos inventando o YouTube. Vou explicar por que cada decisão arquitetural faz sentido no contexto de escala real. ...

22 de maio de 2026 · 12 minutos · Ricardo Martins

Segurança para AI: ameaças que seu firewall não pega

Oitavo post da série. No anterior, aprendemos que dashboard verde não garante modelo saudável. Agora: as ameaças que seu WAF não vai pegar. tl;dr: Em AI, auth, rede e firewall não bastam. Você precisa controlar identidade, dados acessados pelo modelo e exfiltração na própria resposta. O chatbot que sabia demais Sua organização deploya um chatbot interno com Azure OpenAI, conectado a uma knowledge base de políticas, documentação e FAQs. Rollout tranquilo, adoção disparou, liderança já planeja versão pra clientes. ...

21 de maio de 2026 · 6 minutos · Ricardo Martins

System design na prática: como pensar sistemas em escala

Você está numa entrevista. O entrevistador vira e fala: “Design a video-sharing platform like YouTube.” Você tem 45 minutos. O que faz primeiro? Se a resposta for “começo desenhando caixinhas no diagrama”, você já perdeu. System design não é sobre saber a resposta certa. É sobre mostrar como você pensa quando o problema ainda está meio em aberto. E isso melhora com framework, prática e repertório. Este é o primeiro artigo da série System Design na Prática. Nos próximos posts eu vou aplicar esse framework em sistemas reais como YouTube, WhatsApp, Uber e Twitter. Mas antes precisamos do toolkit mental. Esse artigo é o seu canivete suíço. ...

20 de maio de 2026 · 9 minutos · Ricardo Martins

Como se destacar em aplicações para vagas na gringa

Recrutadores gastam menos de 1 minuto na sua aplicação. Eu sei porque já estive dos dois lados: como candidato suando frio esperando resposta, e como entrevistador com 50 currículos pra revisar numa segunda-feira de manhã. Depois de anos aplicando para vagas fora do Brasil e participando de processos seletivos, compilei o que realmente funciona. E o que faz sua aplicação ir direto pro “não”. ...

19 de maio de 2026 · 12 minutos · Ricardo Martins

Monitoramento e observabilidade para AI: quando o dashboard verde mente

Sétimo post da série. No anterior, colocamos modelos em produção com pipelines CI/CD. Agora: como saber se estão saudáveis? tl;dr: Dashboard verde não basta. Você precisa observar GPU, custo, modelo, segurança, rede e dados ao mesmo tempo. A falha silenciosa Seu endpoint Azure OpenAI retorna 200 OK em todo request. Latência normal, P95 abaixo de 800ms. CPU e memória dentro dos thresholds. Kubernetes mostra pods saudáveis, sem restarts. Por toda métrica de infra que você confia, o sistema está perfeito. ...

17 de maio de 2026 · 5 minutos · Ricardo Martins

MLOps: ciclo de vida do modelo pra quem é de infra

Sexto post da série. No anterior, automatizamos provisioning de clusters GPU. Agora entra a parte que começa depois do hardware pronto: como um modelo sai do “funciona no meu notebook” e vira algo que roda em produção com SLA. tl;dr: Modelo não é arquivo solto. Registre versão, valide em staging, publique com canary e deixe rollback pronto. O modelo que chegou sem certidão de nascimento Um data scientist manda uma mensagem no canal do time com um link pra um shared drive: “Aqui está o modelo. É um checkpoint PyTorch de 15 GB. Precisamos em produção até sexta.” ...

13 de maio de 2026 · 7 minutos · Ricardo Martins