CAT. NO. ED-001SIDE A / 33⅓ RPM

Product · data · music · experiments

Erich Donahue

I build decision tools for a living, which usually means forecasting workflows and dashboards that help a team pick between two reasonable options when the data only half agrees. The rest of the time I make small things for my own desk, like a record picker that reads my Discogs collection and a patch loader for a Polyend Endless pedal. This site is the shelf for both.

SIDE A

Data products with a working rhythm.

I came in through branch operations and regulated financial-services analytics, went from there to digital product analytics at Capital One, and landed in decision science at Disney Parks & Resorts. The part I still like best is building the thing rather than only specifying it.

SIDE B

Music taste as a design constraint.

Record collecting is where most of the design language on this site comes from, and it turns out to be good practice for the day job too, because a deep catalog is really just a messy dataset with better cover art. Cataloging my own shelf is how I ended up writing half the tools sitting on it.

CAT. ED-WORK

Selected Work

Front-bin projects, polished enough to hand someone first.

All case studies
CURRENT WORK

Now Building

Recent changes from projects on the workbench.

Full archive
shipped

Networked PlayersCatalog expansion with executable guardrails

Expanded the playable catalog from 179 to 217 albums while moving roster-band selection rules out of documentation and into the build path.

shipped

Charted CurrentsPacket 9 documentary thread

Connected Charted Currents directly to the Prize Papers record through a documentary thread grounded in the Nationaal Archief catalog.

shipped

Pirate Arcade WebKraken encounter and arrival pass

Built a staged Kraken encounter for Kraken's Wake, then simplified its arrival into one clear gameplay beat instead of a stack of competing effects.

OPEN WORKBENCH

Lab & live tools

Public tools, lab experiments, and recovered builds from the back-room shelf.

View all
A radial credit-neighbourhood graph centred on one albumactive2026Networked PlayersAn evidence-first music-credit graph and browser game over a 217-album Discogs-derived catalog. Python/DuckDB pipeline streams the CC0 monthly dumps into versioned Parquet and static JSON artifacts; the Astro front end ships four playable modes with no UI framework and no live API.PythonDuckDBAstroGraphView on GitHub
Charted Currents atlas with a georeferenced 1715 chart over the Caribbeanactive2026Charted CurrentsA provenance-first historical atlas of the Greater Caribbean, 1650-1730. Reviewed archival corpus compiled deterministically into static GeoJSON, rendered with MapLibre, with evidence state, claim class, and review state tracked separately and enforced by the build.AstroMapLibrePythonArchivesView on GitHub
Discogs Spinner browse gallery viewactive2026Discogs SpinnerLocal-first Python desktop/web/CLI app for vinyl collectors, installable via the Snap Store (Linux) and Winget (Windows) with direct downloads for every desktop OS; syncs Discogs collection and wantlist data, supports random album discovery, analytics, collection views, and export/share workflows.PythonDiscogsSnapWingetView on GitHub
Cannonball Clash gameplay screenshotactive2026Pirate ArcadePirate-themed arcade collection of five games. Four are Python/Pygame desktop titles, the fifth is the browser-native Race to Treasure Island, all behind a shared launcher with CI and release packaging.PythonPygameGamesView on GitHub
RECENT FINDS

Bin Finds

View all
CONTACT

Open to practical, well-scoped product, data, decision-science, and builder conversations.

The best way to reach me is LinkedIn, GitHub, or X for now. More writing, project notes, and music/collection details will keep landing here as the redesign matures.

Contact and canonical profiles