Garrett Holmes Denver · replies within one business day

Case file № 005 · Research · Data reconciliation · Public utility

A city’s trivia schedule, 157 comments long

System

DenverTrivia.Zone

Client

Community resource, self-directed


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.

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
Fig. 1 — Nine disagreeing sources, one audited answer.

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.

Pythonthe build pipeline
OpenStreetMapgeocoding — cached, never called live
One HTML file, vanilla JSthe whole site, self-contained
Leafletthe map, loaded only if used
Cloudflare Pageshosting

Garrett Holmes — The Operations Ledger

Composed by hand in Denver. Replies within one business day.