TECNOLOGIA NA PRÁTICA

← Projetos

Case · Dados eleitorais ao vivo

Apuração acompanhada em tempo real, com projeção e margem de erro.

Quem Será Eleito? é um site independente de análise eleitoral. Na noite do 2º turno de 25/10/2026, leu a apuração oficial do TSE e projetou o vencedor seção por seção. Depois virou um portal de levantamentos sobre as contas de campanha no Espírito Santo. Concebido e desenvolvido por Iran Milanez Caetano, com o Claude.

O ponto de partidaA parcial do TSE chega fora de ordem e engana nas primeiras horas: chegou a errar por 2,3 pontos.
O que foi feitoUm coletor, um modelo que compara cada seção com ela mesma e um painel com a margem de erro à vista.
O resultadoProjeção já apontando o vencedor às 19h25, com 3,98% apurado, e erro de até 0,6 ponto a partir de 14%.

Na prática

Veja o fluxo funcionando

Cada aba mostra um caminho do projeto, passo a passo. Os números e as imagens são dos levantamentos publicados no site.

Velocidade
A projeção é independente: não é pesquisa nem resultado oficialSem dados, a página nunca fica em brancoAviso quando os dados envelhecem
IntegraçõesTSE (resultados.tse.jus.br)Cloudflare R2 e Workers

Como é construído

O caminho do dado, da origem à tela

As peças principais e como conversam entre si.

TSEarquivos de resultado, a cada 30 s e a cada minuto
ColetorPython, com limite próprio de 150 pedidos por segundo
Modelocompara a seção com ela mesma e projeta o que falta
Cloudflare R2guarda o estado.json
Domínio ao vivocache de 15 segundos
PáginaHTML e JavaScript simples, relê a cada 30 s
Também no caminho:Sem banco de dados: arquivos no repositório e o R2 para o estado ao vivoReservas: Worker de dados (10 s em memória) e modo demonstraçãoAudiência estimada pelas requisições da própria página, sem cookiesEm desenvolvimento: Modelo 2028 e publicação automática no Instagram
  • Python
  • NumPy
  • JavaScript puro
  • SVG e three.js
  • Cloudflare Workers
  • Cloudflare R2
  • Workers Builds
  • GitHub
  • Playwright (imagens de compartilhamento)
  • Meta Graph API (em desenvolvimento)

Cuidados

O que faz esse projeto ser confiável

Erro medido, não prometido

Na noite de 25/10 o maior desvio foi de 1,85 ponto, com menos de 10% apurado. A partir de 14% apurado, nunca passou de 0,6. A página mostra isso.

Lição da noite real

A lista de seções era baixada antes dos arquivos dos municípios. O coletor passou a casar os dois, baixar só o que mudou e manter conexões abertas: a rodada caiu de 7 minutos para 103 segundos.

Segurança

Política de conteúdo restrita, proibição de embutir a página, HSTS, bucket servido só pelo domínio ao vivo e regra que libera apenas a leitura do estado.json. Segredos fora do Git.

Privacidade

Sem cookies, sem cadastro e sem identificar visitantes. O tema claro e escuro fica só no navegador. A audiência é estimada pelas requisições à própria página.

Linguagem neutra nas contas

Só dados abertos do TSE, sempre “declarado ao TSE”. Nada de acusação, e nada que venha de processos em análise.

Quando algo falha

Aviso após 5 minutos sem dados, endereços de reserva, modo demonstração e gravação atômica. O coletor descarta arquivos mais velhos que o já visto e respeita o limite do TSE.

Vamos conversar?

Tem dados públicos que precisam virar informação clara?

Fale comigo. Posso transformar dados abertos em painéis, projeções e páginas que qualquer pessoa entende.

Conversar pelo WhatsApp