01What this is
Foul Domain analyzes every live audience Phish recording and ranks tracks, shows, songs, venues, and tours on a single comparable scale.
Setlists and reviews come from phish.net; audio comes from phish.in; the rest is built up from there. Every track is analyzed, scored, and ranked using a blend of audio signals (tempo, energy, groove) and community signals (popularity, jam-chart placement, review sentiment). Shows get their own 0–100 score the same way. Patterns like bustouts, debuts, and segue density are computed nightly across the whole catalog. Everything visible on the site is also available as JSON and an MCP endpoint for AI assistants.
02Why I built it
Three reasons, in order:
- New fans face a wall. Forty years of live material is paralyzing if you don't have a friend to guide you. The site exists to be that friend: start here, listen to this version, then this one.
- Existing fans deserve discovery. Veterans hit a different wall: the catalog is bottomless. There's always another era to be scratched, or a great version in hiding that's never been queued. Surfacing those is the second job.
- It's the work I love. My professional career has lived at the intersection of growth, product, engineering, and data: building things, talking to people, telling stories with numbers. Foul Domain is a personal project where all points converge with my love of live music.
03Who I am
I'm Kevin Spence. A friend got me into Phish when I started college in the 90s. He handed me a tape of the second set from Crest Theatre in '93 (Gamehendge), and it changed my life in ways I couldn't have predicted: chief among them, I met my wife through the band. We saw our first show together in Ames, Iowa in 1999 (check out the Antelope from that show if you haven't heard it) and now have three kids. Phish has been the throughline of our lives together.
You can see what shows I've been to and check out my Phish stats on my profile, or get in touch.
I'm looking for my next role at the intersection of product, engineering, and data (the same combination that built this site). Depending on the org, my role can fall on either the marketing or product side of the house. If your team is hiring or you know someone who is, please drop me a note.
04How the scores work
Tracks land on a 0–100 scale built from ten weighted components: community signals (popularity, consensus, jam-chart placement, recognition), audio signals (energy, groove, harmonic coherence, duration, volatility), and review sentiment. Shows have a separate six-component formula led by phish.net community ratings.
Both scales are normalized so the average performance lands at 50. Scores of 80+ are rare and shown in oxblood throughout the site. Every component is visible on every page; nothing is hidden. Full breakdown on the methodology page.
05Where the data comes from
Setlists, jam charts, song metadata, and community reviews from phish.net. Audio files from phish.in, analyzed with librosa. Sentiment summaries of reviews are generated per-show by a small Claude model. Scoring runs nightly via GitHub Actions.
The /audio browser lets you filter across every analyzed track. The /map plots every venue. Individual tracks, songs, and shows each get their own page.
Have a correction, a tape, or just want to talk? Reach me.
