Discogs → Spotify
Finds compilations missing from Spotify, then rebuilds them track by track.
The problem
Some time ago, nostalgia knocked down on my door and made me search on Spotify for an old album my parents used to play when we’d go on holidays. It didn’t exist. Fortunately, it was a compilation album, not an originals, so I googled the tracklist and created a playlist. A few months later I noticed that playlist had almost 200 followers. That made my brain juices start to flow… Discogs holds a near-complete structured record of physical releases going back decades — original albums, genre anthologies, DJ mixes, label samplers. When an album contains songs from different artists, it’s more likely that the rights are spread across multiple owners, making it more likely to be absent from Spotify. The individual tracks are often there, though, making it a solvable problem.
What I built
I created a three-stage system. First I check Discogs for compilation albums. Then, I check if they exist on Spotify. If not, I create a playlist from the original tracklist.
How it works
Three stateless scripts over one Postgres database. The first is discovery, and crawls Discogs by genre/year/format slice. I’m using Discogs genre classification for clarity. Then the existence-checking system scores each candidate against Spotify. If absent, the reconstruction script rebuilds the missing ones track by track with the original cover art.
The challenging part worth dwelling on the scoring. Specifically what happens in the middle of the score. Above 90 the system auto-accepts as already existing; below 60 queues for reconstruction; the band between goes to a human review queue rather than being guessed at. I need to find a way to automate this part with accuracy.
What I’d do differently
The system currently runs locally. The next logical step is to move this to a place (GitHub) such that it can run autonomously and on its own schedule. The current pace is limited by Spotify’s daily quota, but given that this is an hobby, non commercial project, there’s no rush or need to increase the daily token quota.