Inspiration

Music apps such as Spotify, YouTube Music, and Apple Music do a good job providing music to its user while growing and recommending music and genres to them based off the music they listen to. This is great and all, but sometimes it's better to hear recommendations from real people, including their opinions on the music.

What it does

Spotifind uses user profiles on Spotify to match users based off of their musical preferences. It is a way to meet new people who share common musical interests with the user.

How we built it

We made use of Spotify for Developers and a python library called "spotipy" to build this project. With the developer app we can access Spotify servers with the spotipy library and scrape information. With this setup, we can use built-in methods in spotipy to pull public user info with just their username as input. After we take user info, we add it to our data system in order to compare the profile to other users of the web app. Using an algorithm, we determine the percent makeup of a user's library of genres, artists, and tracks. We then use a subtractive comparison between user profiles to determine the overlap in their profile percentages. With this we generate a score and percent likeness for several categories between users.

Challenges we ran into

  1. We could never figure out how to user the built in User Authentication in spotipy, so when we designed the system we had to limit ourselves to just the public data on Spotify profiles.
  2. The documentation for the spotipy library was not good. It didn't explain how to use any of the in-built methods and even failed to describe any data types used for input and it never went into any details for what the individual methods actually did.
  3. The data organization for the songs is really confusing and hard to read. I took a few hours to figure out how to pull the useful information we needed out of the song identifying data. ## Accomplishments that we're proud of

What we learned

  1. How to use the spotipy library, and work with a library with little to no documentation
  2. How to develop onto another app, using Spotify for Developers
  3. How to work with classes in python
  4. How to start an HTML file
  5. To collaborate on a coding project with other people ## What's next for Spotifind
  6. We want to flush out the algorithm and get the program past just a proof-of-concept phase.
  7. We want to add features to the app that allows users to not just match, but then communicate with one another.
  8. We want to enable User authorization that allows private account details to be shared and incorporated into the algorithm ##Long Term Goal Cross compatibility with YouTube and Apple Music that allows people to connect across music platforms.
Share this project:

Updates