Case file № 005 · Research · Data reconciliation · Public utility
A city’s trivia schedule, 157 comments long
- 259
- venues audited
- 271
- weekly sessions
- 9
- disagreeing sources reconciled
No single source knew every trivia night in the Denver metro. I reconciled a 157-comment Reddit thread and eight host directories into one audited dataset — 259 venues, 271 weekly events — and shipped it as a single self-contained page that answers the question before your thumb reaches the map.
The system
In
Reddit thread 157 comments
Eight host directories mutually disagreeing
The system
Reconciliation & audit added · corrected · held for confirmation
Build pipeline cached geocoding · one command
Out
One self-contained page renders the instant it parses
JSON + CSV the dataset, reusable by anyone
Before ✗
- The answer was scattered across a Reddit thread, eight separate host directories, and individual bar pages.
- The sources disagreed constantly: conflicting start times, venues that had closed, and one bar whose own site listed its trivia night as karaoke.
- The person asking is standing outside a bar on a Tuesday with five tabs open, deciding where to go in the next ten minutes.
After ✓
- One audited dataset: 259 venues and 271 sessions, each with day, time, host where confirmed, neighborhood, and format.
- Contradictions are handled like an audit, not a guess. A written pass over all 157 comments records what was added, what was corrected, and what is being held for confirmation instead of published as fact.
- Venues are edited as one readable list in the build script; a rebuild re-geocodes only the new addresses, caches the rest, and bakes the coordinates into the data — so the live site never calls a geocoder.
- The whole site is one self-contained HTML file. No framework, no font downloads, dataset inlined so the page renders the instant it parses, and the map library loaded only if the map is actually used.
- The same dataset publishes as JSON and as CSV, so anyone can reuse it as a feed or open it as a spreadsheet.
The verdict
The website was never the hard part. The hard part was turning nine disagreeing sources into a list a stranger can trust — and building it so that a correction is one line and one command.
Bill of materials
| Python | the build pipeline |
|---|---|
| OpenStreetMap | geocoding — cached, never called live |
| One HTML file, vanilla JS | the whole site, self-contained |
| Leaflet | the map, loaded only if used |
| Cloudflare Pages | hosting |