What it is
A small web application that takes a Setlist.fm URL (the crowd-sourced setlist database fans use to log live shows) and creates a YouTube Music playlist of the songs from that setlist.
Why I built it
I wanted a playlist of a show I had just been to, and the manual process (open Setlist.fm, search each song on YouTube, add to playlist, repeat) was tedious for a 25-song set. Two REST APIs and an OAuth flow later, the manual process became a one-URL operation.
How it works
- Frontend: Flask with a single template, takes a Setlist.fm URL
- Setlist.fm API: fetches the artist + ordered list of songs played
- YouTube Data API: searches each song, picks the top result, creates a new playlist on the user's account, populates it
- Auth: Google OAuth 2.0 client flow; playlist creation requires user-scoped tokens
What I learned
- OAuth is most of the work for any app that touches a user account. The actual API calls are small; the auth flow, token storage, and consent screen take real time.
- Top-result heuristics are good enough for a personal tool. Production-quality song matching would need fuzzy artist/title disambiguation; a first-result heuristic worked for nearly every show I tested.