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.

Built With

Share this project:

Updates