spar
SPAR — short for Spotify Playlist Auto-Randomizer — is a tiny automation project I built to fix something that’s bothered me for years: Spotify’s shuffle doesn’t really shuffle.
I run a lot, and my playlist is sacred. I have there more than 500 songs there and I don't really care about order; on the contrary, I care about disorder. But time after time, Spotify’s shuffle kept repeating the same 10–15 tracks, ignoring big chunks of the playlist, and locking into weird loops.
And it’s not just me — this is a well-documented pain across Reddit and the Spotify community forums. People call it “pseudo-random,” “broken,” or just “bad UX.” Some even reverse-engineered its behavior and found bias in how it clusters songs by artist or genre. Others just gave up and manually reordered their playlists before every run.
Instead of dealing with that mess, I built SPAR: a GitHub Action that runs weekly and truly randomizes my running playlist. It reorders all songs using the Spotify API — no repeats, no favoritism, just pure, fresh randomness every time I hit the pavement.
It updates my mainrunning playlistevery Sunday, then my Garmin watch then syncs the playlist at night so it’s always ready before the first workout of the week.
Built with Python, deployed as a GitHub Action, and quietly solving a niche but real-life problem — my favorite kind of project. Source code ishere.