Inspiration

We wanted to make a project that would combine technologies to do something fun and new. We discussed ways to use the Spotify API for a while before settling on an AI approach that would also incorporate web scraping and machine learning.

What it does

Spotifynder is a chrome extension. When the user clicks on its icon, it prompts them to log in to Spotify if they aren't already, then it gets the HTML of the current webpage they are on. It determines what in the page data is text, then sends that text to an AI, which finds song and artist names within that text. It then sends this data to the Spotify API, which searches for those songs (plus some other songs by any mentioned artists) and creates a playlist which contains all of them.

The result of this is that a page- whether it's a YouTube comments section, a Reddit discussion on r/music, a Rolling Stone article, or anything else on the subject of music- gets transformed into a ready made playlist! Spotifynder is perfect for interacting with online music discussions in a more musical way.

How we built it

We used several different frameworks such as python Flask for communications between front-end and back-end, SpaCy for machine learning in python, the Spotify API to interact with Spotify, and Chrome Extensions (plus an honorable mention to StackOverflow).

In order to train the machine learning model, large amounts of data from various sources were manually labelled.

Challenges we ran into

Many technologies were a pain to debug, and ultimately the front and back-end were forced to run on the same computer because of problems with AWS Lambda.

The machine learning model isn't perfect. We had to manually label data in order to train the model, and there isn't enough that the model is fully reliable. It thinks a lot of garbage is songs, and a lot of songs are garbage, but it's accurate enough that the playlist it generates is clearly based on the page its given, and contains some of the bigger songs mentioned on it.

Our project had flexible scope, and what we submitted ultimately accomplished our main goal of translating a webpage into a playlist, but it could certainly look prettier and run better given more time.

Accomplishments that we're proud of

It works! (Probably)

We managed to tie together a lot of disparate technologies. Machine learning, API calls, and web scraping all successfully did their part and connected together. The team overcame some difficult bugs, (which often came from silly sources) and worked late into the night in order to create a functional end product.

What we learned

How to use the Spotify API, connect various technologies, and make a Chrome Extension.

What's next for Spotifyinder

I dunno. Maybe make it into a full product? Honestly we are running out of time to submit so I am going to stop writing things here.

Built With

Share this project:

Updates