Inspiration
Music listeners have a lot of playlists and often we might forget about songs which are at the bottom of them if we never make it through the full playlists or simply lose interest after time. But there is always satisfaction in rediscovering old songs which are in our playlists, especially when they fit our mood.
What it does
Spotivibes updates your Spotify queue using whatever emotion you input into it. The song it picks will match your mood but is also queried from your playlists so it is a song which will be familiar to you as opposed to a song recommended by the spotify service which you may never have heard before.
How I built it
We used HTML, Node.JS to set up the front end. In the backend we used python (flask) to write the script which will update the queue. To analyze the sentiment we used Google Cloud's Natural Language API
Challenges I ran into
Connecting the front-end with the backend. We were trying to host both the Python flask script and the Node elements in the same local host. We didn't realize that they need to be on two different servers and that these two servers could not have the same spotify API key until we ran out of time.
Accomplishments that I'm proud of
We originally were going to just hardcode in what the user could input in terms of their emotion to either be "happy" or "sad". But we managed to get the Google Cloud Natural Language API up and running. This is especially important for us all because it was our first time using GCP
What I learned
The distinctions between how Python Flask generates servers and how that interacts with Node.JS
What's next for Spotivibes
Likely need to start using a microservices architecture, one microservice for Node.JS and the other for the Python elements. This would allow us to make the two talk to each other. The spotify app also needs to currently be playing a song in order for the queue to update. Ideally the Spotify app shouldn't need to be open in order for Spotivibes to work.
Log in or sign up for Devpost to join the conversation.