-2

Como construí um agregador de dados dos 5 presidenciáveis com Next.js

Passei as últimas semanas construindo o presidenciaveis-2026.vercel.app, um agregador não-partidário com perfil completo dos 5 candidatos à presidência: Lula, Flávio Bolsonaro, Renan Santos, Caiado e Zema. O código está aberto: github.com/rcarubbi/presidenciaveis-2026.

O problema: Dados eleitorais no Brasil são fragmentados. TSE tem formato próprio, institutos de pesquisa publicam PDF, YouTube tem APIs separadas. Cada fonte tem estrutura e confiabilidade diferentes.

Solução em camadas:

  1. Dados estáticos dos candidatos em TypeScript puro — perfil, carreira, posicionamento político, escândalos, financiamento. Cada campo usa o tipo DataValue<T> que força { value, source (URL), updatedAt }. Nada aparece sem referência.

  2. API SapiensLabs (eleicoes2026.sapienslabs.com.br/api/v1) para cobertura jornalística — série histórica de sentimento, artigos por candidato, top fontes e tópicos. Um proxy Next.js com revalidate de 5 min.

  3. Dados TSE com parser próprio — o CSV de pesquisas eleitorais do TSE tem peculiaridades (encoding, campos ausentes, delimitadores). Um serviço dedicado normaliza tudo.

  4. 95 vídeos do YouTube embedados por categoria (entrevistas, debates, campanha). Extração manual dos IDs com verificação.

Features que deram mais trabalho:

  • Comparador lado a lado — renderizar dois candidatos com as mesmas seções sincronizadas por abas exigiu componentização cuidadosa. Aprendi que composição com children ganha de props booleanas.
  • Dados de pesquisa duais — toggle entre institutos privados (Datafolha, Quaest, AtlasIntel, Real Time Big Data) e dados oficiais do TSE, com gráficos Recharts de 1º/2º turno, rejeição, espontânea e regional.
  • 5 candidatos × 9 seções de conteúdo estático. Geração estática com generateStaticParams.

Feedbacks são bem-vindos, especialmente de quem já lidou com dados governamentais ou multi-fonte. Como vocês estruturariam a camada de dados?

Carregando publicação patrocinada...
4

Cara assim, eu entendo a ideia, e até a necessidade, mas você tem que filtrar muito algumas coisas, especialmente questão de ideologia, muita gente fala muita coisas que não corresponde aos fatos:

  • Não existe "direita conservadora" ou "esquerda conservadora", conservadorismo se opõe ao progressismo, é ambidestro
  • O mesmo vale para "liberal"

Mas o que mais me preocupa são algumas definições por exemplo:

  • Lula, você o descreve como "Esquerda / Social-democrata", tanto na prática quanto por autoafirmação Lula se descreve como nunca tendo sido de esquerda e sendo principalmente de centro ou pelo menos almejando o centro sendo que como pode verificar nos links ele mesmo considera esquerdistas problemáticos, claro, seu partido (PT) é de esquerda mas ele mesmo não é
  • De forma similar você classifica Flávio Bolsonaro como extrema-direita, isso é um problema grave porque no Brasil extrema-direita é "rótulo pra tudo que é ruim" e curiosamente você também o classifica como "Direita conservadora", as duas classificações são autoexcludentes, por exemplo a aproximação com os EUA e com Israel complicam a definição como "extrema-direita" porque isso é antichauvinista enquanto a extrema-direita por definição é antichauvinistas, a maioria do "extrema-direita" se baseia em preceitos como "ataque a instituições democráticas e a imprensa", porém o Flavio Bolsonaro se mostra amistoso com a maioria dos canais e veículos de imprensa, tendo uma richa particular com a Globo e as instituições criticadas são principalmente ligadas ao judiciário que existe um debate acadêmico sobre ser ou não democrático já que não são eleitos diretamente e tem mandato praticamente vitalício
  • Renan Santos se fundamenta na Nova Direita Milenalista (https://www.youtube.com/watch?v=fZlo3fybIAU) o que tecnicamente apesar de não gostar, o coloca como centro-direita, essa é a única ressalva aqui
  • Ronaldo Caiado curiosamente não tem nada fora da curva

Wikipédia é uma péssima fonte para políticos, especialmente classificação deles, recomendo fazer buscas em ambientes realmente neutros, outro detalhe importante é sua classificação bínaria para algo trinário, a classificação deveria ser:

  • Ativo (Investigação)
  • Resolvido (Rejeitado e Arquivado)
  • Anulado

Anulado não está ativo, mas também não está resolvido

1
1
-2

Obrigado pelo feedback, Cacatua!

Cara, eu tentei ao máximo não colocar nada de "eu" nesse site. A ideia sempre foi criar um portal de comparação baseado em fontes públicas, de forma que todas as informações apresentadas viessem dessas fontes e não de opiniões pessoais.
Dito isso, concordo com você que esse é um tema espinhoso. Mesmo quando a intenção é ser totalmente imparcial, algum viés pode acabar surgindo, inclusive na própria escolha das fontes utilizadas.

Para minimizar esse problema, utilizei IA no processo de validação das fontes e pedi que ela realizasse múltiplas rodadas de verificação para checar se as referências estavam alinhadas com o conteúdo apresentado. Isso obviamente não garante perfeição, mas foi uma tentativa de aumentar a consistência e reduzir possíveis distorções.
Sobre os exemplos específicos que você trouxe, acho que o principal desafio está justamente no fato de que muitas dessas classificações não possuem consenso acadêmico, político ou mesmo jornalístico. Termos como "esquerda", "direita", "centro", "conservador", "liberal" e "extrema-direita" frequentemente recebem definições diferentes dependendo da fonte consultada. Em vários casos, há divergência entre a forma como a própria pessoa se define, como seus apoiadores a classificam e como ela é classificada por pesquisadores, imprensa ou observatórios políticos.
Minha intenção não é determinar uma "verdade oficial" sobre nenhum político ou movimento, mas sim consolidar informações encontradas em fontes públicas e documentar os critérios utilizados. Se alguma classificação estiver baseada em fontes fracas, enviesadas ou desatualizadas, considero totalmente válido revisá-la.

Concordo também com a observação sobre a Wikipédia. Ela foi utilizada principalmente como ponto de partida para localizar referências, mas não deveria ser tratada como fonte definitiva para classificações políticas. Vou revisar esse ponto e buscar referências mais robustas sempre que possível.

Quanto à questão dos processos, sua observação faz bastante sentido. Realmente existe uma diferença importante entre um caso que foi rejeitado e arquivado, um que foi anulado por questões processuais e um que ainda está em investigação. Uma categorização mais granular tende a representar melhor a realidade e evitar interpretações equivocadas.

No fim das contas, o objetivo do projeto não é convencer ninguém de uma posição política específica, mas criar uma ferramenta transparente onde os critérios possam ser discutidos, auditados e melhorados continuamente. Por isso, críticas como a sua são úteis, mesmo quando existe discordância em alguns pontos. Se você tiver sugestões concretas de fontes ou metodologias que considera mais neutras, fico feliz em analisá-las.

Assim que eu fizer outra release eu aviso!