Todos os posts
aiagentsdevops

Analisei 100 mil comentários da Copa 2026 com Python + YouTube API — e o sistema roda SEM IA

Gustavo Velozo · · 6 min read

A Copa do Mundo de 2026 está acontecendo agora e eu coletei mais de 100.000 comentários de torcedores do mundo inteiro analisados automaticamente. O sistema roda sozinho todos os dias às 7 da manhã — coleta vídeos novos de três canais do YouTube, classifica cada comentário por sentimento, idioma, país e tópico, e atualiza um site público com o resultado. Você pode ver em copa26.gustavovelozo.com.

Construí o sistema inteiro em uma única sessão de 24 horas com GitHub Copilot + Claude — 230 milhões de tokens de input gastos em uma maratona. Mas o ponto técnico mais importante do projeto não é a IA que construiu, é uma decisão de arquitetura que vou explicar com detalhes neste post.

A sacada principal: usei IA pra construir, não pra operar

Hoje todo mundo tem o mindset de jogar API de IA em tudo. Para esse projeto, eu teria a opção de mandar cada um dos 100.000 comentários pro GPT ou Claude pra classificar sentimento, idioma, tópico. Funcionaria? Funcionaria. Custaria caro? Muito.

Fiz a estimativa:

Em vez disso, fiz o sistema rodar com Python puro + heurísticas — detectores de idioma, dicionários de palavras-chave por sentimento, regex para identificar país/região. Resultado:

A regra que quero que você grave: Use IA pra construir. Mas tome uma decisão consciente se você precisa dela pra operar. Muitas vezes não precisa.

Como funciona a arquitetura

[YouTube API] → [Python scripts] → [SQLite] → [JSON build] → [Vercel deploy]
                                      ↑
                              [Cron diário 7am UTC]

Cada parte:

Coleta — YouTube API

Três canais monitorados para ter mix de vozes:

Para cada canal: vídeos novos do dia + todos os comentários + replies.

Processamento — três filtros sequenciais

Cada comentário passa por:

  1. Detecção de idioma — marcadores linguísticos identificam PT ou EN (outros idiomas ficam de fora por complexidade)
  2. Análise de sentimento — palavras-chave positivas/negativas/neutras por idioma; detecta negações ("não é bom" inverte o sinal)
  3. Categorização por tópico — palavras-chave para temas comuns: estádios, ingressos, transporte, hotel, comida, bebida, bar, segurança, VAR

Plus: detecção de voz regional — quando alguém escreve "as an American" ou "como brasileiro", o sistema marca o comentário como voz daquele país. Útil para análises tipo "como o americano vê x" vs "como o brasileiro vê x".

Armazenamento — SQLite local

SQLite é underrated. Para até alguns milhões de linhas, ele atende perfeitamente, é zero-configuração, e o arquivo de DB inteiro vai pro Git se quiser versionar.

Build + Deploy — JSON estático + Vercel

Todo dia o pipeline rebuilde os arquivos JSON dos dashboards e faz commit no GitHub. Vercel detecta o commit e re-deploya o site automaticamente. Custo: zero (Vercel Hobby tier).

O gotcha técnico que me fez perder uma hora

A API do YouTube tem duas formas de buscar vídeos de um canal:

search.list — o caminho intuitivo (e errado)

No Cazé TV (títulos em português), praticamente não retornava nada. Travado.

playlistItems.list — o caminho correto

Resultado: passei de 6 vídeos processados para 500 vídeos processados na mesma cota. Lição: a API "óbvia" raramente é a otimizada.

O que os dados revelaram

O dashboard tem várias páginas, mas alguns insights pegos só nos primeiros dias:

Ingressos — reclamação universal

Independente da nacionalidade — americano, europeu, brasileiro — todo mundo reclama do preço. Em Miami onde moro, ingresso saiu por US$ 4-5 mil. Preferi usar a grana em férias com a família.

Transporte — o problema do Uber

Palavra "Uber" apareceu demais nos comentários. Torcedores em massa reclamando de não conseguir Uber para sair dos estádios. Dica: usem transporte público.

Voz brasileira vs voz internacional — parecem Copas diferentes

Curiosidades que rendem mais que os gols

O paradoxo americano

Ou seja, americano é mais crítico do próprio time do que o resto do mundo é com eles. Insight que não aparece em telejornal esportivo.

O que fazer agora — aplicar essa arquitetura ao seu projeto

Esse mesmo conceito funciona para qualquer análise de comentários públicos — não precisa ser Copa do Mundo:

1. Identifique a fonte de dados

Comentários do YouTube. Reviews de produto. Tweets/posts. Reddit. Qualquer API com paginação.

2. Construa com IA, mas opere sem (se possível)

Use Claude/Copilot para gerar todo o código de coleta, processamento, build. Mas se a tarefa de runtime é classificação determinística (sentimento básico, keyword matching, regex), Python puro resolve 100× mais barato e 100× mais rápido.

3. Use APIs otimizadas, não as óbvias

playlistItems.list vs search.list é o tipo de detalhe que multiplica sua cota 100×. Sempre vale pesquisar a API por completo antes de implementar.

4. SQLite como banco padrão para projetos pequenos

Zero config, zero custo, perfeito até milhões de linhas. Não precisa subir Postgres pra tudo.

5. JSON estático + Vercel/Netlify

Dashboards de leitura podem ser HTML estático gerado por build. Sem servidor, sem custo, performance absurda.

6. Cron para automação

GitHub Actions (gratuito) ou cron simples roda seu script no horário definido. Sem dependência de "serviços de orquestração" caros.

Pretendo abrir o código

Se esse vídeo bater 500 likes na próxima semana e o canal passar dos 11.000 inscritos (hoje em ~10.500), vou liberar o repositório completo. Você pode adaptar para qualquer canal/qualquer análise — não só Copa do Mundo. Análise de comentários em canal de culinária, política, tecnologia — a arquitetura é a mesma.


Este artigo foi gerado a partir do meu vídeo no YouTube. Assista a versão completa para ver o dashboard ao vivo, o ranking de sentimento por seleção e a comparação Cazé TV vs canais internacionais.

Prefere vídeo?

Assistir no YouTube

Posts relacionados