
Estudo de caso Personal project
A ficha pública de qualquer candidato brasileiro, com a fonte oficial por detrás de cada número.
- Cliente
- Personal project
- Tipo
- Ferramenta de dados cívicos
- Papel
- Fork, redesign e funcionalidades de front-end
- Ano
- 2026
01Visão geral
Uma aplicação web só de leitura sobre uma base de dados SQLite de 12 GB construída a partir de fontes oficiais (Tribunal Superior Eleitoral, Receita Federal e Portal da Transparência): candidaturas de 2014 a 2026, doações e despesas de campanha, bens declarados e sinais de alerta, organizados por pessoa, com o ficheiro, o URL, a data de recolha e o SHA-256 de cada registo à distância de um clique. É um fork do EloSys, um projeto de código aberto; a minha parte foi a nova identidade, o front-end e as funcionalidades à volta dele.
02O problema
Os dados eleitorais brasileiros são públicos, mas estão espalhados por ficheiros ZIP anuais com mais de um gigabyte cada, em formatos diferentes. Reunir o histórico de um candidato obriga a descarregar, cruzar registos por CPF e CNPJ e depois confiar num número sem conseguir dizer de onde veio.
02A abordagem
Manter o pipeline de dados e refazer aquilo em que o leitor toca. Os coletores do EloSys guardam cada registo com uma cadeia de proveniência até ao ficheiro original e ao seu hash, e a aplicação web abre a base de dados só em modo de leitura. Mudei o nome ao projeto, troquei o painel escuro por um aspeto cívico e sóbrio, e acrescentei as ferramentas que as pessoas procuram quando investigam alguém: favoritos, comparação lado a lado, exportação, partilha e impressão.
03A construção
O que foi de facto construído
- 01
Um novo sistema visual aplicado a todas as páginas: tema claro por omissão e um escuro, Public Sans e IBM Plex Mono, um logótipo de lupa com visto, barra lateral e barra superior redesenhadas, e um layout para telemóvel com menu lateral que respeita a preferência de reduzir o movimento.
- 02
Favoritos em qualquer ficha (candidato, CPF ou CNPJ) fixados na barra lateral, e pesquisas recentes com navegação por teclado na paleta de pesquisa Ctrl K que já existia, tudo guardado no navegador, sem conta.
- 03
Uma página para comparar até três candidatos: candidaturas, doações, fundo eleitoral, despesas contratadas e pagas, bens declarados e sinais de alerta, com barras proporcionais e uma ligação partilhável. E ainda exportação CSV em todas as tabelas, cópia de CPF e CNPJ com um clique, partilha da ligação e um layout de impressão.
- 04
Uma cache em memória para as agregações mais pesadas, o ranking de bens declarados e os maiores fornecedores de todos os anos, que demoravam até cerca de um minuto na base completa, com um script de pré-carregamento e um modo de arranque na rede local para que outras pessoas usem a cópia de uma só máquina.
Tecnologia
- Next.js
- React
- TypeScript
- Tailwind CSS
- SQLite
- better-sqlite3
- React Flow
- Python
04A experiência





05Em que ponto está
Corre localmente sobre a base de dados disponível para descarga (cerca de 12 GB depois de extraída); não está publicada na internet. Os coletores, as regras de deteção e o modelo de proveniência vêm do EloSys. Os sinais de alerta são indícios, não provas.
