Background
The question I set out to answer: Who is running in local DC elections, and how is each race evolving (candidates, campaign finance, and shifting momentum) in something close to real time?
Local DC races have outsized downstream effects on federal policy, urban planning, and infrastructure, but the sheer volume of candidates and finance filings makes them hard for voters and journalists to follow. Put the data somewhere readable and civic engagement gets cheaper: advocacy groups can target grassroots efforts, and voters can make informed choices without digging through government spreadsheets. The early data already hints that fundraising momentum tracks closely with ballot-access success.
How It Works
I vibe-coded this: I described the pipeline to an AI agent, let it scaffold the scrapers and the build, then iterated until the numbers checked out. The whole thing is serverless and about as boring as infrastructure gets, which is the point:
- Data sources: the DC Board of Elections API and public campaign-finance portals, with the raw filings cleaned and reshaped into historical trend lines that track fundraising momentum and candidate status.
- Backend: nightly GitHub Actions workflows refresh the data and rebuild the site. No server to babysit, and it's hosted free on GitHub Pages.
- UX: a static, fast, mobile-friendly dashboard that loads instantly on any device.
A Look Inside
Each view shown on mobile and desktop — tap any image to open the live site.



