Music Aggregation + Recommender Site Built in Streamlit

Hello! Excited to share my project Top Music, which was built using Streamlit. It enables music discovery by showing the best reviewed music from the past several years sorted by genre and year. Even better, it’s just been approved as a Spotify app, meaning you can use it to create playlists and even control music playlist in the browser via Spotify. For example here’s a playlist of the best jazz from the past few years. Enjoy!


Cool! Any plans to describe how you went about building this?

For sure! I’ll probably put together a blogpost on it when I refactor some parts of the pipeline, but effectively now:

  1. I have a CSV that I manually update of different critics’ top picks for albums by year
  2. I manually assign a genre for each album from listening to it
  3. I use the Spotify API to pull the metadata for each album by searching the artist name/album name
  4. I add that metadata to said CSV and load it into the Streamlit page

The Streamlit page is then relatively straightforward - it loads in the CSV and filters it based on the parameters that the user sets. There’s also an OAuth flow set up, where the user can log into their Spotify account, authenticate the app, and have the page reload with a refresh token created via their credentials that is included in the page URL. They can then play selected albums/create playlists once they’re authenticated.

Next step for me is to switch over the loaded CSV into a Postgres table, although from running it the data is small enough that performance seems OK as-is.

1 Like

Thanks for the heads-up. Look forward to your post.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.