About

The story behind the project, and what it's actually built on.
The story

After 1,000+ rides on my Peloton bike, I started noticing the same songs and artists showing up over and over again.

There are entire genres with endless rides, while others barely seem to exist. As someone who'd happily trade a few pop punk rides for some actual punk, I started wondering whether the data backed up what I was hearing.

So I did what any normal person would do and started digging into it.

At first, I mostly wanted to answer a few questions. How repetitive is the catalog really? Which instructors branch out the most? Which themes lean on the same handful of songs? And where are the great tracks nobody seems to be playing?

That turned into this project. Which might be nothing. Or I might learn something. I dunno. I think it's fun though.

Me and my wife on a bridge over a canal
The rider
JG
JP Given@iamjpgLas Vegas
1,121Total workouts
167Est. cycling FTP
8Badge level

Workout mix

  • Cycling1,073 workouts · 96%
  • Strength29 workouts · 3%
  • Stretching19 workouts · 2%

1,121 total workouts since joining Peloton in 2021 -- pulled straight from my own account.

The data

How far back does it go?

Every class the scraper has imported from Peloton's on-demand library. There's no cutoff: it walks the library from newest to oldest until Peloton has nothing older.

0classes imported
0%with a full playlist
Oct 2018oldest class aired
Nov 2026newest class aired
Classes by year aired
YearClassesSplit by discipline
20183
2019124
20201,091
20219,006
202210,258
202310,611
202410,700
202510,279
2026so far8,658
By discipline
DisciplineClassesSince
Biking21,831Nov 2018
Strength11,321Oct 2018
Running9,646May 2019
Yoga7,279Jun 2019
Walking3,477Jul 2020
Meditation2,740Nov 2019
Stretching2,425May 2019
Cardio1,232Mar 2020
Pilates779Dec 2020

The oldest class on file is 10 min Core Strength with Emma Lovewell, aired October 5, 2018 (strength).

Plot twist

Wait, Peloton already built this?

Well... sort of.

While digging into how Peloton actually picks music for classes, I found this article, which sent me down a pretty great rabbit hole.

Apparently Peloton has a Head of Music, five music supervisors who work with specific instructors, and an internal tool called Crescendo that lets instructors search more than a million licensed songs by things like BPM and duration.

They reportedly bought a startup in 2018 just to build it.

I have a scraper and an unreasonable amount of curiosity about why certain songs keep showing up.

The tale of the tape
CategoryCrescendoThis site
Built byA startup Peloton bought in 2018One guy after work
Song library1,000,000+ licensed tracksWhatever has already shown up in a class
Searches byBPM and duration“Wait, didn't they just play this?”
The teamA Head of Music and five music supervisorsMe and a Peloton bike
Knows a song's tempoYesAbsolutely not
Has opinions about punkUnclearUnfortunately, many

So is Crescendo better than this site?

Almost definitely. They have a million songs and an actual music department.

But I'm pretty confident Crescendo does not have a dashboard whose primary purpose is discovering that an instructor has played the same song 47 times.

So we each have our strengths.

Really, the two tools are answering completely different questions. Crescendo helps instructors find music that fits the ride they're building.

This site looks backward and asks: what are instructors actually playing, what do they keep coming back to, and what somehow never gets played at all?

“They choose their own. We don't promote anything, musically speaking.”
Paul DeGooyer, Peloton's former Head of Music, as quoted in the article

And honestly, that might be my favorite part.

The music supervisors are there to help, but instructors still choose their own music. So when the same songs keep popping up, it's probably not some mysterious Peloton algorithm stuck in a loop.

It's just people having favorites.

Which makes this whole thing way more interesting.

At its core, this site is really just a very elaborate way of looking at instructor taste at scale. And, every once in a while, wondering whether that taste could use just a tiny bit more punk.

One other fun detail from the article: it cites a Goldman Sachs estimate that Peloton pays around 3.1 cents per stream, compared with roughly 0.35 cents on Spotify. So the next time you hear the same song for the hundredth time, at least somebody is getting paid. Read the full article.

Under the hood

I'm a software engineer by trade -- here's what this site is actually built on.

  • Ruby on Rails
  • PostgreSQL
  • Solid Queue
  • Solid Cache
  • Solid Cable
  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • shadcn/ui
  • ActionCable
  • Active Storage
  • Kamal
  • Docker
  • Last.fm's API