2024 · Civic tech · Five governments
Every bill.
One feed.
Your voice.
Bill Consensus scrapes the legislative feeds of five governments every day and turns the wall of PDFs into a threaded forum where citizens can actually follow, discuss, and weigh in on bills as they move.
Principle 01
Democracy fails silently when citizens can’t find the bill.
Principle 02
Legislation is written in a language that was never supposed to scale to the whole country.
Principle 03
Consensus doesn’t require agreement. It requires seeing the disagreement clearly.
The aggregator
Every overnight, five parliaments, one queue.
A fleet of Node.js scrapers wakes up around dawn local time for each jurisdiction, pulls the latest bill schedules, diffs them against yesterday, and enqueues new or amended legislation for parsing. By the time you're on your first coffee, the feed is up to date.

The forum
Threaded, civil, and attached to the actual text.
Every bill has its own thread. Comments anchor to specific clauses, so disagreement happens inline, against the source, not as a detached Twitter war. A sentiment tally at the top shows where the room lands — for, against, or “needs amendment.”

React
Client app
Node.js
Scraper fleet
MongoDB
Bill corpus
Socket.io
Live threads
Status
Shelved, for now. Built, and proud.
Bill Consensus was an ambitious 2024 build that taught me more about distributed scraping and civic design than anything since. The live site isn't running, but the codebase, the scrape pipelines, and the threaded discussion engine all shipped.
More work by Dominic Black