Skip to content
Renato VieiraDigital Builder←All work
00
  • PT-BRPortuguês (Brasil)
  • ENEnglish
  • PT-PTPortuguês (Portugal)
  • 中文简体中文
  • 日本語日本語
Manaus
  1. 01HomeBack to the signal
  2. 02WorkEvery case, in depth
  3. 03AboutHow I think and work
  4. 04CertificatesTwenty-three certificates, one wall
  5. 05ContactTell me what you're building
dev.renatovieira@gmail.com
  • GitHub ↗
  • LinkedIn ↗
  • WhatsApp ↗
  • Curriculum ↗ (PDF in Portuguese, opens in a new tab)
  • PT-BR
  • EN
  • PT-PT
  • 中文
  • 日本語
Comparison of three presidential candidates side by side: candidacies, donations, electoral fund, contracted and paid expenses, declared assets and alert signals, each with a proportional bar.

Fig. Candidate Search, civic data tool

  1. Renato Vieira
  2. Projects
  3. Candidate Search

Case study · Personal project

Candidate Search

A public record of any Brazilian candidate, with the official source behind every number.

Client
Personal project
Type
Civic data tool
Role
Fork, redesign & front-end features
Year
2026
01

01Overview

A read-only web app over a 12 GB SQLite database built from official sources (the Superior Electoral Court, the Federal Revenue Service and the Transparency Portal): candidacies from 2014 to 2026, campaign donations and expenses, declared assets and alert signals, organised by person, with the file, URL, collection date and SHA-256 of each record one click away. It is a fork of EloSys, an open-source project; my part was the new identity, the front end and the features around it.

02

02The problem

Brazilian electoral data is public, but it is spread across yearly ZIP files of more than a gigabyte each, in different layouts. Putting one candidate's history together means downloading, joining records by CPF and CNPJ, and then trusting a number without being able to say where it came from.

02The approach

Keep the data pipeline and rebuild what the reader touches. EloSys's collectors store every record with a provenance chain back to the original file and its hash, and the web app opens the database read-only. I renamed the project, gave it a sober civic look in place of a dark dashboard, and added the tools people reach for when they research someone: favourites, side-by-side comparison, export, sharing and printing.

03

03The build

What was actually builtWhat was actually built

  1. 01

    A new visual system applied to every page: a light theme by default with a dark one, Public Sans and IBM Plex Mono, a magnifier-and-check logo, a redesigned sidebar and top bar, and a phone layout with a slide-out menu that respects reduced motion.

  2. 02

    Favourites on any record (candidate, CPF or CNPJ) pinned to the sidebar, and recent searches with keyboard navigation in the existing Ctrl K search palette, all kept in the browser with no account.

  3. 03

    A comparison page for up to three candidates: candidacies, donations, electoral fund, contracted and paid expenses, declared assets and alert signals, with proportional bars and a shareable link. Plus CSV export on every table, one-click copy of CPF and CNPJ, link sharing and a print layout.

  4. 04

    An in-memory cache for the heaviest aggregations, the declared-assets ranking and the top suppliers across all years, which took up to about a minute on the full database, with a warm-up script and a LAN start mode so others on the same network can use one machine's copy.

Technology

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • SQLite
  • better-sqlite3
  • React Flow
  • Python
04

04The experience

A candidate record in “view sources” mode, with a provenance window showing source, agency, file URL, collection date, SHA-256, parser and legal basis. The CPF is blurred.
View sources: any figure opens the official file it came from, with its hash.
A candidate record on a phone: name, office, party and year, action buttons and donation totals. The CPF and voter ID number are blurred.
Candidate record, mobile.
Parliamentary earmarks paid to companies, listing author, company and CNPJ, and amount, with a search field and CSV export.
Earmarks: who sent federal budget money to which company, exportable as CSV.
The provenance window on a phone, with source, agency, URL, collection date and SHA-256.
Provenance, mobile.
The slide-out menu on a phone, with the main sections and each alert signal with its count.
Navigation, mobile.
05

05Where it stands

Runs locally against the downloadable database (about 12 GB once extracted); not deployed publicly. The collectors, detection rules and provenance model come from EloSys. Alert signals are leads, not proof.

Next projectCarterCarter · E-commerceCarter homepage: a gold Carter wordmark on deep navy beside the headline “Carter - lojas manauara exclusivas shopay-canvi.”, above a strip of product photos.

© 2026 Renato Vieirav1.0.0 · e9b8599

Manaus, Amazonas, Brazil

Designed and built by Renato. Set in Instrument Sans & Serif.

GitHubLinkedInBack to top ↑
Renato Vieira
Digital BuilderManaus, Brazil