Like all cultural modes of expressions, the songs we listen to can unconsciously socialize and shape our world view. Music streaming services make up some of the largest platforms, and there are heavy undercurrents of xenophobia and discrimination within the industry. For example, while Korean pop bands like BTS are massively popular worldwide, you nearly never hear their songs on American radio. Why? According to theGatewayOnline, radio listeners are “accustomed to the familiar echo chamber of English tunes they hear from day to day.” Additionally, in the context of classical music, most well known composers are white men, many of whom held extremely racist beliefs. It is dangerous to accept these realities are neutral or “just the way things are”, so it is important to actively challenge and deconstruct the status quo. Our idea for the app was to create a service that works to center and uplift traditionally excluded music artists by providing an easy way to discover these creators.

What it does

This web app allows a user to create a playlist with a friend by logging into their spotify account, entering a specific artist, and sending it to their friend. The friend can see who sent them the request to finish a playlist, but they won’t be able to see who the artist was. Once the friend enters in their own artist, the app generates a playlist that slowly transitions between the two songs while inserting in underrepresented artists. This provides a fun way for people to bond over discovering both each other’s music tastes and discover artists they might have never stumbled upon. The new playlist highlighting traditionally excluded artists can be saved directly to the user’s Spotify account, and previously created playlists can be viewed on the web app.

How we built it

We used React to build the web app, as well as MongoDB Atlas for our database. We based our design on the existing app Boil the Frog which creates a playlist transitioning between two artists, and expanded on this to allow friend collaboration and to spotlight underrepresented artists. We used Spotify’s web developer API for authentication and to save playlists into your personal account.

Challenges we ran into

One challenge we faced was having the user be able to save the created playlist into their spotify account because there were issues with the authentication. Once we registered our app with Spotify to access the web developer API, we were able to modify our code to include the correct method of authentication for our app.

Before this project, most of our team had never used React, MongoDB, or the Spotify API before.

Accomplishments that we're proud of

One accomplishment that we’re proud of is being able to connect our existing app framework to our database. This allowed us to store the information being inputted by the user, so once we reached this stage, we were able to better develop the functionality of the app.

What we learned

We learned how to incorporate 3rd party APIs (like the Spotify API) into code for authentication and other purposes, and read and write data into a MongoDB database. We also learned to design simple and readable UI with React.

What's next

Running the data crawling algorithm that creates a “path” of artists between any two artists can take up to 12 hours. Given our timeline, we were not able to run a custom version that would involve including more underrepresented artists in the path. Our next step would be to make this algorithm more efficient so that it can be run in a reasonable amount of time when creating the diverse playlist. One way to do this would be to implement a faster shortest path algorithm over the graph maintaining all songs.

Built With

Share this project: