We were inspired by our collective love for music, and the wonder among friends which it brings.

What it does

Less than we'd like, but more than we should've reasonably hoped for. The intent is an application where users can visit a website, input their publicly available Spotify usernames and URIs, then log in to confirm authentication one by one. Then, the Python code (which works, but not seamlessly from the website) grabs the top ten songs from each user participating in the friend group and compiles them together into one long playlist (which presently takes the form of a text file containing song titles, artists, and Spotify URIs)! It's a cool way for friends to compare what they've each been listening to, and it could easily expand to include interesting details like tempo, genre, repeated artists, et cetera.

How we built it

The web client is built with HTML, CSS, and JavaScript magic. The brains in the background are built with Python using the Spotify API. The part that's missing, which links the two, will someday be written in Ajax and JQuery.

Challenges we ran into

Honestly, most of our challenges were not with our logic or planning, but with logistical issues with installations and filepaths and environment variables and technicalities and annoyances, but such is the way.

Accomplishments that we're proud of

We learned a lot, and everyone walked away with some more experience working with languages or concepts with which they weren't very familiar at first. We also put together some snazzy graphics and some beautifully commented code. We got an excellent workflow going in Linux, familiarized ourselves with the Spotify API and with HTTP requests, and found a gentleman on YouTube with excellent skills with explaining (shoutout to Ian)!

What we learned

  • How JSON and HTTP requests work!
  • How (in theory) to allow JavaScript and Python to communicate via Ajax
  • The really interesting data that the Spotify API grants (like song danceability!)
  • Google Home Minis will NOT shut up if they can't connect to the WiFi (:
  • TSYS will likely not be hiring us
  • Spotify might be suing us (we're excited for the opportunity)

What's next for Spotifriend

Initiating that sweet, sweet, aforementioned marriage between JavaScript and Python. Oh, and also taking to the World Wide Web. And soon... the Universe!

Share this project: