
Por Stamatios Stamou Jr·Como o Em 3 min é feito
Todo dia útil, dezenas de notícias de tech e IA viram uma edição que se lê em 3 minutos. Ninguém toca em nada: um pipeline faz o trabalho inteiro, do email ao envio da newsletter. Este post é o raio-X de como ele funciona.
1. Tudo começa no email
As fontes chegam como newsletters na minha caixa de entrada. Um script em Python lê os emails do dia via IMAP, limpa o HTML e junta as edições num texto só. Um arquivo de estado guarda o que já foi processado - rodar duas vezes não duplica nada.
2. Uma chamada consolida o dia
As newsletters se repetem muito: a mesma notícia aparece em três edições com títulos diferentes. Em vez de processar uma por uma, o texto consolidado vai para o modelo numa chamada só, que remove duplicatas, escolhe o que importa e devolve a lista de matérias do dia, já em ordem de relevância. Cada matéria vira um card com título, gancho e fonte.
3. Cada card busca a própria fonte
O card nasce do resumo da newsletter, mas o texto de 3 minutos sai da fonte original. O pipeline baixa o artigo de cada link; quando o site bloqueia (paywall, anti-bot), entra um extrator - Jina ou Firecrawl. Se nada funciona (um post do X, por exemplo), o card fica só com o resumo curto. Sem inventar.
4. Um JSON faz três coisas
Do texto bruto do artigo, uma única chamada ao modelo devolve um JSON com o resumo de ~3 min, o gancho ("por que você deveria ler") e o prompt da imagem. O mesmo JSON também devolve entidades, temas e story_key - os metadados que, na etapa 6, conectam as notícias entre si.
5. Imagem, site e newsletter
Do prompt sai a ilustração line-art do card. O card é gravado no formato Seed, o build gera o site estático e sobe para o servidor. O mesmo conteúdo alimenta a newsletter: quem assina recebe a edição no email, sem precisar lembrar de visitar o site.
6. Dos cards nasce um grafo
Cada card classificado vira um nó, e os metadados viram arestas: mesma história, mesma entidade, mesmo tema. O resultado é um mapa com mais de 700 matérias e 2.800 conexões - é ele que monta o bloco "Relacionados" no fim de cada texto, e é ele que dá para explorar visualmente no Grafo das notícias: cada ponto é uma matéria, cada linha uma conexão, e clicar num ponto abre a leitura. O bastidor disso - vetores, rerank, o SQLite que segura tudo - está no post do grafo.
Os detalhes que sustentam o hábito
Os modelos variam, o critério não. MiniMax, Qwen, DeepSeek - troco conforme custo e qualidade, via OpenRouter. O que não muda: uma edição por dia útil, em português, para ler em cerca de 3 minutos.
Falha não para o dia. O pipeline roda em etapas (texto, artigos, imagens, relacionados, deploy, campanha). Se uma etapa falha, as outras continuam e o log conta o que aconteceu. No dia seguinte, o que faltou é retomado.
Nada em produção além do HTML. Toda a conta - LLM, embeddings, imagens - acontece no build. O site publicado é estático: se tudo cair, as páginas continuam no ar.