Get insights from your Spotify activities and create personalized playlists with your own preferences.
Moodify aims to help you to discover more tracks based on your own preferences. That is you can use audio features such as tempo, danceability, instrumentalness etc. to create a personalized playlist, which means you can ask for tracks which has less vocal, high bpm, great for dancing and uplifting your mood. Also doing that by specifying seed artists and tracks helps you to discover tracks with similar music taste with your favorite artists.
Aside from the discovery of new tracks, Moodify helps you to visualize your music style and let’s you understand how your music style is changing. You can see how your recent style is changing in last played three tracks with respect to your last fifteen tracks. Even more, you can see how your favorite tracks changed over time like a year ago, months ago or in last weeks.
Spotify API Usage
Moodify helps users to discover more tracks that matches their preferences. This is achieved by using many API endpoints that Spotify provides.
- Song features are used to define user’s music style and visualize it.
- User’s recently played tracks are used to visualize user’s current music style and how it is changing lately. They are also used as default seed artists and default audio feature levels for playlist recommendation.
- User’s favorite tracks are used to show how user’s music style changed over time, with the help of top tracks from long term to short term.
- Search is used to simply search for tracks and artists to select recommendation seeds.
- An artist’s related artists are used to improve the recommendation seeds.
- Playlist modification ability is used to save the recommended playlist under user’s account.
Install JDK and sbt.
You should run following command to compile the application with sbt. It will also fetch the missing dependencies.
Start a local Redis server or edit
test.conf file to connect your own Redis server.
Start the application with following command and it will start to listen requests on port 9000.
sbt > reStart
Now the API is running. If you want to run the web application, you can simply use
python for a local web server with following command. This will run the web application and make it listen to port 8000 on localhost.
python -m SimpleHTTPServer
Note that you need to set environment variables
SPOTIFY_REDIRECT_URI for the application to run and communicate with Spotify API. If you do not have these credentials, you must create a Spotify developer account and register your app to get these credentials. For detailed information please check https://developer.spotify.com/documentation/general/guides/app-settings/