Inspiration
With the sudden start of the pandemic, our group began to increase the amount of music we listened to but often felt the music did not reflect our mood. At times, we would want to listen to happy music because it reflected how we felt at the time, but other times we would want to listen to downbeat music, but this task would prove to be near impossible. Especially on Spotify, which is commonly used among high schoolers, we found that we constantly listen to the same playlists, and branching out our music tastes was hard in our busy schedules. The easy fix to both these solutions is Mood, which we created during this hackathon as a way to give interesting music directly to consumers to reflect their feelings using AI.
What it does
Our website, Mood, once granted permission, will use visual input provided by the user to produce a playlist reflecting their mood. The playlist is created using Artificial Intelligence and contains a large number of songs, which are promptly saved to the user's collection. This process can be repeated numerous times, so depending on the day, the user will be able to experience all different kinds of music, even if their mood does not change. The user's mood is calculated by calculating where specific landmarks on the user's face are, and their relative positions in order to tell if how they are probably feeling. The program we use to produce the playlist finds related artists in specific genres that fit under moods and gets better when it gets a feel of what kinds of music you listen to often. As a result, our website Mood encourages the user to listen to a wide array of music currently on Spotify, which also demonstrates their mood.
How we built it
We built this website using React, which combines JavaScript and HTML elements together. We initially created a nice UI using CSS and HTML and had to ask for the permissions, such as logging into Spotify, to get our program functioning. Even despite our lack of experience using React, we were able to create the AI and train it using data from a pre-created database. Once we created the AI and the UI, we then used the Developer Tools from Spotify and their APIs and added them to our program to create the playlist. We used the key features that songs have, such as key, to determine what mood they would correspond to, and with the percentages gained from the AI, we add the songs that best fit within the mood of the user. After we implemented all this, we simply formatted this to the screen using CSS and HTML and saved it to the Spotify account, so the user can permanently enjoy them.
Challenges we ran into
Since it was our first time using React and Spotify Developer tools, we struggled to get some features implemented since we fell into issues. We had a couple of bugs that took a good chunk of our time spent to resolve, such as an issue with exporting functions between files. Our prior experience with other programming languages like Java did not assist us since it was so new to us and slowed down debugging and producing features.
Accomplishments that we're proud of
We were able to create a functioning website that we could scale into a fully functioning consumer product. We feel that we could use this website in our daily lives to get a wider variety of music that also reflects our moods. We had to traverse through new languages since our group never used React or Spotify Developer tools before this. It is also our first occasion using Artificial Intelligence, and it was cool to see it in action. All in all, we are extremely pleased with our end product and feel that a consumer would love to purchase our product while listening to music.
What we learned
We learned how to use JS React proficiently, and we also improved our HTML and CSS skills. We also learned the inner workings of an AI algorithm and Spotify Developer Modules.
What's next for Mood
We can improve the algorithm to be more effective in figuring out mood, and also improve the algorithm to find the music we used in the playlists. We would stay close to using people's moods to determine moods, but could also take personality, traits, and past music traits respectively to create playlists. After improving functionality, we would figure out how to deliver a better consumer experience to make Mood necessary to use and improve the music experience for all.
Built With
- css3
- express.js
- faceapi
- faunadb
- node.js
- react
- spotify


Log in or sign up for Devpost to join the conversation.