BUGFREE-LINK - https://graphin-tunes-tbij.onrender.com/ - may take a while to load as I'm on free tier.
ALTERNATE LINK - https://graphin-tunes.cyclic.app/ - no wait time, but slightly buggy.
Graphin' Tunes is a web application that gives you various interactive beautiful and colorful insights on your listening tastes and preferences in a beautiful interface. It plots minimal graphs which you can use to analyze the melodies and the characteristics of your recently played songs. The web application is best if viewed on a laptop or a desktop, but it is responsive for smaller devices as well.
The different features are danceability, valence, tempo, acousticness, speechiness, instrumentalness, liveness, energy and mode (major or minor).
There are 2 main routes or pages:
Built using modern technologies like:
Deployed using OnRender
None!! Just head to the link at the top and log in to the Spotify Account and enjoy the web app! That's it!
If you don't have one account, head over to https://www.spotify.com/ and create an account. Be sure to listen to a few different songs so that Graphin' Tunes can get the data to plot the graphs.
If you want to see the code and play around with the code, just replace the process.env files with the specific values like YOUR spotify clientID or _YOUR secret client_ID etc.
- Your email and name - To display a welcome message when you log in!
- Your recently played songs - To get the data to plot the beautiful graphs.
Be sure to listen to different songs of your liking and not repeat the same songs for a much better experience! After all, you wouldn't like all the graphs to have the same values, would you?
Note that the various audio features in this application are not 100% correct. These features have come from a machine learning model, trained with limited data( gigabytes of data, but in this data-centric world, this is quite less ). Hence if some songs have audio features that don't make sense, its solely due to the fact that machine learning, albeit powerful, is still in its baby steps and will take time and more data to evolve
Note that the application might take 10-15 seconds to load up on the first load. This is because I am using a free account of Render and have limited uptime hours. Hence the web-app sleeps after 1 hour of inactivity, but after the first short delay of the first load, the application works normally and well.
The graphs are fully interactable, you can click on labels to disable them, enable them and they also adjust according to your screen size and zoom level
This application is a standalone project on its own and an idea I had for a long time, but it was also built as a final Project for CS50x, Harvard's Quintessential Course for the Intellectuals of Computer Science and the Art of Programming.