We all love music because it motivates us, gets us through a bad day, or is simply something to bang our heads to. We wanted to maximize the a Spotify listener's personal experience by matching their music to their mood.

What it does

People crave different kinds of music when in different moods. A happy mood will require a different playlist then say, a sad or irritated mood. This website conducts a short quiz based on music genre and personality, and provides a list of songs that match the user's mood.

How we built it

We utilized HTML, CSS, and JavaScript to build the website. We created our server with Node.js, which allows local files to be displayed in the browser. The listener's selections are stored in variables which pull the playlists. Once the quiz is complete, a new tab is created with a Spotify API, and the user has the option to restart the quiz.

Challenges we ran into

We wanted to create our own Mongo Database of songs, but quickly discovered that manually adding hundreds of songs was not an efficient use of our time and energy. Another issue we came into but ultimately solved was that our browser permissions restricted access to parts of our website.

Accomplishments that we're proud of

We are proud of discovering how to clear our local storage in order to reset the variables for each quiz. We discovered how to open links in a new page without accidentally clearing our storage first. The user is easily able to redirect to the first page to start the quiz over. We have also connected all of our pages to function smoothly

What we learned

We learned that there exists many different forms of JavaScript, including Django, Angular, Node.js, etc. We were able to narrow down our needs and decide which languages we needed for our project. We learned how to set variables that can be used by the server and cleared later. We discovered how to link an embedded Spotify API of our playlists depending on the value of the variables.

What's next for State of Music

We would like have diversity with the playlists and develop a random playlist for each situation. Give more time, we would integrate decades as a user's choice, as the 2010's are very different than the 1980's. It would be great to include a children's music filter that restricts explicit songs.

Share this project: