# SENTINELA: Como o EmailHacker.ai Construiu um Radar de IA com 10 Fontes, 8 Scrapers e 2 Camadas de Inteligência Artificial em 5 Horas
No domingo 22 de março de 2026, o EmailHacker.ai transmitiu 4 horas e 58 minutos de desenvolvimento ao vivo e entregou um sistema completo de monitoramento de inteligência artificial. O Sentinela rastreia 10 fontes diferentes, processa tudo com um pipeline de IA em duas camadas, e envia alertas via WhatsApp quando algo relevante acontece. A receita acumulada do projeto subiu para R$1.974. E no meio de tudo, uma API key vazou ao vivo.
O Problema: Sobre o Que Mandar Email?
Com aproximadamente 120 usuários cadastrados e R$1.974 em vendas rastreadas, o EmailHacker.ai já resolvia os problemas operacionais do email marketing: criar funis, escrever e-mails com IA, disparar pelo ActiveCampaign, testar entregabilidade com o Email Azul. Mas nenhum dos 138 gestores na plataforma tinha pedido o que foi construído nessa stream. O problema era outro, anterior a todos esses.
O maior gargalo do gestor de email marketing não é escrever o e-mail. Não é configurar automação. É saber sobre o que mandar e-mail. O ciclo diário de um gestor típico começa assim: abre o computador, entra no Twitter, depois no YouTube, verifica o que o concorrente postou, lê 3 newsletters, gasta 1 hora e meia fazendo curadoria manual, e no final manda um e-mail genérico porque já gastou toda a energia pesquisando.
O Sentinela resolve isso monitorando automaticamente as fontes que importam, classificando por relevância e entregando um briefing pronto. O gestor abre o EmailHacker.ai antes da sessão de trabalho e já sabe: hoje saiu uma atualização da Anthropic com relevância 9, o YouTube está cobrindo uma nova feature do ChatGPT com hype score 8, e um repositório no GitHub com 12.000 estrelas lançou uma ferramenta que compete com o produto do cliente. Tudo filtrado, traduzido para português, com sugestão de como transformar cada item em conteúdo de email.
Sentinela: 10 Fontes, 30 Minutos, Zero Ruído
O sistema final do Sentinela monitora 10 fontes distintas, cada uma com seu scraper dedicado. As fontes se dividem em 3 categorias.
Blogs oficiais de LLM providers: Anthropic, OpenAI, Google DeepMind, Meta AI e Mistral. Esses são os blogs onde as empresas publicam atualizações de modelos, novos recursos de API, papers de pesquisa e anúncios de produto. O Sentinela faz scraping do RSS ou da página de blog de cada um, extrai título, data de publicação, resumo e link.
Plataformas de código e modelos: GitHub Trending (repositórios de IA com crescimento rápido, incluindo contagem de estrelas) e Hugging Face (novos modelos publicados, com métricas de download). O GitHub é especialmente útil para descobrir ferramentas que podem ser integradas ao EmailHacker.ai ou recomendadas aos gestores.
Mídia e comunidade: YouTube (modo autodiscovery que encontra canais que cobrem IA, não apenas canais pré-definidos), X/Twitter (contas oficiais de empresas de IA e influencers do setor) e newsletters relevantes do ecossistema.
O ciclo completo de coleta das 10 fontes leva aproximadamente 30 minutos. Cada fonte tem seu próprio scraper com tratamento de erros isolado. Se o scraper do YouTube falha por bloqueio de IP, os outros 9 continuam funcionando. O resultado é armazenado em 4 tabelas no Supabase: uma para itens brutos, uma para itens processados com briefing, uma para alertas gerados e uma para configuração de fontes.
Durante a stream, 8 scrapers foram implementados do zero. Os scrapers de blog (Anthropic, OpenAI, Google, Meta, Mistral) seguem padrão semelhante: HTTP request, parse de HTML ou JSON, extração de campos padronizados. O scraper do GitHub usa a API pública de trending. O do YouTube precisou de uma abordagem diferente: um worker dedicado (yt-transcriber) que extrai transcrições de vídeos, permitindo que o Sentinela analise não apenas títulos mas o conteúdo real dos vídeos.
Pipeline de IA em Duas Camadas: Haiku + Sonnet
O diferencial do Sentinela não é a coleta de dados. Qualquer agregador de RSS faz isso. O diferencial é o pipeline de processamento em duas camadas de IA que transforma ruído em informação acionável.
Camada 1: Triagem com Haiku. Cada item coletado pelos 8 scrapers passa primeiro por Claude Haiku, o modelo mais rápido e barato da Anthropic. O Haiku recebe o título, resumo e metadados do item e responde com 3 campos: relevância (score de 0 a 10 para o contexto de email marketing e IA), categoria (implementar, conteúdo, monitorar, ignorar) e um resumo de 1 linha em português. Itens com relevância abaixo de 5 são descartados. Essa camada processa dezenas de itens por centavos.
Camada 2: Briefing com Sonnet. Os itens que passam pela triagem do Haiku (relevância 5 ou acima) são enviados para Claude Sonnet, que gera um briefing completo. O briefing inclui: o que aconteceu (resumo traduzido para português), por que importa para o EmailHacker.ai (conexão direta com o produto), como aplicar (passos concretos de implementação ou criação de conteúdo) e hype score (estimativa de quanto o assunto vai viralizar nos próximos 7 dias baseado em sinais como cobertura em múltiplas fontes e engajamento).
A escolha de duas camadas é econômica e funcional. Na stream 4, o Sentinela processou 36 itens na primeira coleta. Desses 36, 7 receberam briefing completo e 3 geraram alertas. Se todos os 36 fossem processados pelo Sonnet, o custo seria aproximadamente 5 vezes maior sem ganho proporcional de qualidade, porque a maioria dos itens são ruído que o Haiku descarta em milissegundos.
O pipeline roda como um scan agendado. Cada execução coleta de todas as fontes, passa pela triagem, gera briefings e dispara alertas. O resultado aparece no cockpit do EmailHacker.ai como um dashboard com filtros por fonte, por categoria e por score de relevância.
6 Terminais, 4 Tabelas, 8 Scrapers: A Execução
A construção do Sentinela seguiu o mesmo padrão de desenvolvimento paralelo das streams anteriores do EmailHacker.ai: 6 terminais de Claude Code rodando simultaneamente via CloudFlow, um sistema de orquestração multiagente.
O terminal 1 (Opus) funcionou como orquestrador e planejador. Foi nele que o brainstorm aconteceu: definição das 10 fontes, arquitetura do pipeline de 2 camadas, schema das 4 tabelas do Supabase e divisão das tarefas entre os outros terminais.
Os terminais 2 a 6 (Sonnet) receberam tarefas específicas. Um terminal criou as migrations do banco de dados: tabela de fontes (sentinela_sources), tabela de itens brutos (sentinela_items), tabela de briefings processados (sentinela_briefings) e tabela de alertas (sentinela_alerts). Outro terminal implementou os scrapers de blogs oficiais. Um terceiro construiu os scrapers de GitHub e Hugging Face. O quarto montou a UI do cockpit do Sentinela. O quinto implementou o pipeline de IA com Haiku e Sonnet.
O uso de CloudFlow permitiu que as 4 tabelas fossem criadas no Supabase enquanto os scrapers estavam sendo implementados em outro terminal, e a UI do cockpit já estava sendo construída em um terceiro. Quando os scrapers ficaram prontos, as tabelas já existiam para receber os dados. Quando o pipeline de IA foi finalizado, a UI já estava consumindo dados de teste.
O consumo de tokens no final da stream foi de aproximadamente 10% do limite semanal. O orquestrador em Opus consumiu a maior parte, mas como as tarefas paralelas rodaram em Sonnet, o custo total foi gerenciável. Esse é o mesmo padrão que o EmailHacker.ai usa em todas as streams: Opus para decisões de arquitetura, Sonnet para execução.
Quando o Sentinela Encontrou o Anthropic Partner Network
A validação mais expressiva do Sentinela aconteceu durante a própria stream em que ele foi construído. Na primeira execução real do sistema, com todos os scrapers ativos e o pipeline de IA processando dados reais, o Sentinela identificou um post de 11 dias atrás no blog da Anthropic sobre o lançamento do Claude Partner Network.
O briefing gerado pelo Sonnet foi direto: a Anthropic estava criando uma rede oficial de parceiros para empresas que usam Claude em seus produtos. O EmailHacker.ai usa Claude em absolutamente tudo, desde a geração de e-mails até o pipeline do próprio Sentinela. O briefing sugeriu que o EmailHacker.ai se candidatasse ao programa de parceria, o que daria acesso a suporte prioritário de engenheiros de IA da Anthropic, materiais de co-marketing e presença no diretório público de parceiros.
A aplicação ao Claude Partner Network foi feita durante a stream. Ao vivo, com os espectadores assistindo, o formulário de inscrição foi preenchido e enviado. O processo levou menos de 15 minutos e não teve custo. O Sentinela havia encontrado uma oportunidade concreta que o criador do EmailHacker.ai não tinha visto em 11 dias de publicação, apesar de usar Claude diariamente.
Isso ilustra exatamente o problema que o Sentinela resolve: mesmo alguém imerso no ecossistema de IA, que usa Claude Code 8 horas por dia, não consegue acompanhar todas as atualizações relevantes de 10 fontes diferentes. O volume de informação é grande demais para curadoria manual. O Sentinela faz essa curadoria em 30 minutos, classifica por relevância, e entrega um briefing pronto com passos de ação.
O hype score do post sobre o Partner Network foi calculado em 8 de 10: relevância alta para o produto, impacto potencial em credibilidade (parceiro oficial da Anthropic como prova social) e janela de oportunidade curta (programas de parceria favorecem early adopters). Esse tipo de classificação numérica permite que o gestor priorize: itens com score 9 ou 10 viram alerta WhatsApp imediato, score 7 ou 8 aparecem no topo do dashboard, score 5 ou 6 ficam na lista para consulta.
Vazamento de API Key ao Vivo: O Que Fazer em 30 Segundos
Durante a implementação do scraper do YouTube, um dos terminais de Claude Code exibiu uma API key em texto puro no output do terminal. A key apareceu na tela da stream por alguns segundos antes de ser identificada. O incidente aconteceu apesar de instruções explícitas no CLAUDE.md do projeto proibindo a exibição de qualquer credencial no output.
A reação foi imediata e seguiu um protocolo de 3 passos. Primeiro: a tela da stream foi ocultada enquanto a situação era avaliada. Segundo: a API key exposta foi revogada e uma nova foi gerada diretamente no painel do serviço. Terceiro: a nova key foi salva no arquivo .secrets do projeto (gitignored, nunca commitado) e o terminal foi reiniciado com a nova credencial.
O tempo total entre o vazamento e a regeneração da key foi inferior a 30 segundos. A key antiga foi invalidada antes que qualquer uso malicioso pudesse ocorrer. O incidente foi tratado com transparência total: os espectadores viram o problema e a solução em tempo real.
Esse tipo de incidente é um risco inerente do formato build-in-public com desenvolvimento ao vivo. O EmailHacker.ai mitiga esse risco com múltiplas camadas de proteção: o arquivo CLAUDE.md instrui o Claude Code a nunca exibir credenciais, os valores sensíveis ficam em .secrets e são lidos silenciosamente, e variáveis de ambiente usam placeholders em qualquer output de terminal. Mesmo com todas essas camadas, o modelo de IA ocasionalmente falha em seguir a instrução, o que torna o protocolo de regeneração imediata essencial.
O resultado prático do incidente foi uma regra adicional no projeto: qualquer API key gerada para scrapers do Sentinela tem escopo mínimo (read-only, sem permissão de escrita ou deleção) e rotação automática programada. Se uma key vaza, o dano potencial é limitado a leitura de dados públicos. Esse approach de least privilege foi implementado como consequência direta do incidente ao vivo, demonstrando como o build-in-public força melhorias de segurança em tempo real que projetos fechados frequentemente adiam.
A stream 4 encerrou com o Sentinela operacional, 10 fontes ativas, pipeline de IA em duas camadas funcionando, e alertas WhatsApp configurados. A receita acumulada do EmailHacker.ai estava em R$1.974 com 19 vendas atribuídas a email marketing. De R$1.860 na stream anterior para R$1.974, mais R$114 em 2 dias. A meta de R$1.000.000 estava em 0,197%. Número ainda pequeno, mas o produto agora tinha algo que nenhum concorrente oferecia: um sistema autônomo que diz ao gestor sobre o que mandar email, antes mesmo dele perguntar.