Projects Leave a Comment

What inspired our hack?

We have lots of music in our library, and going through each song to make a perfect playlist for every occasion is frustrating. What if you want to dance, and sing at the same time? Or you want to dance, but you don’t want any lyrics messing with the bass? Spot-a-Playlist has got you covered.

So, what does it do?

You select two audio attributes that you are in the mood for (danceability, energy, speechiness, acoustic…) and it will query your music library to come up with sets, or clusters, of songs to form a playlist. Based on the intensity you want of the two parameters you provided, choose one to form a playlist.

And how did we build it?

Using the Spotify Web API, the app can get access to a user’s tracks. It can also access the audio attributes of each track.

The playlists are created through a machine learning algorithm called k-means. Taking the two parameters provided, it produces clusters from the songs. In other words, it finds the most optimal relation between the songs based on the attributes, and creates a playlist out of them.

The challenges…

Using the Spotify API on Android and Web, and using node.js asynchronously to correctly gather all the music data from the user.

And accomplishements

Managing to successfully combine the Spotify API with machine learning, and rendering this in Android, as well as creating secure requests with the client tokens.

In the end, what did we learn?

We learned how to make promises in JavaScript and handling node.js’s asynchronous behaviour, and implementing a k-means algorithm in Java.

What’s next for Spot-a-Playlist

START-UPPP and making the world a better place with music. 🙂

Share this Post

Leave a Reply