The Idea
Baseball players choose walk-up songs that play as they step up to bat or pitch. When I stumbled across an open-source API for MLB walk-up songs, I knew I wanted to build something with it. The premise: if your music taste overlaps with a player's walk-up music, they're on your team.
It's a simple and lighthearted concept, but making the results feel meaningful required a matching algorithm with real depth behind it.
From Spotify to Roster
You connect your Spotify account, and the app pulls your top tracks, top artists, saved songs, and genre profile across multiple time ranges. On the other side is a database of MLB players with their walk-up songs, linked to Spotify track IDs and tagged with genres.
The app scores every player against your profile, then assembles a full roster, optimizing for match quality. Once your team is built, it pulls each player's real stats from a live sports API to calculate team averages and a projected win-loss record.
The Matching Logic
Each player's walk-up songs are scored against your Spotify data on three dimensions: direct song matches (you listen to the same track), artist matches (you listen to the same artist), and genre overlap (your top genres align with the song's genres). A song you've actually liked or saved carries the most weight.
Time range matters too. A track in your long-term top songs says more about your taste than something you binged last week, so the algorithm weights accordingly. Rank also factors in: your #3 artist is a stronger match than your #47.
When assembling the team, the algorithm fills positions one at a time, applying two constraints that keep the results interesting: a genre diversity boost (so your team isn't nine players who all share one genre) and an artist repetition penalty (so one popular artist doesn't dominate the roster). The result is a team that genuinely reflects the range of your music taste.
Team Stats & Projected Record
Once your roster is locked, the app hits a live sports API to pull real stats for each player: batting average, OPS, and ERA. It aggregates these into team-level numbers and generates a projected win-loss record, so you can see whether your music taste would produce a playoff contender or a last-place squad.


