Inspiration

Finding what to listen to has always been a struggle for us. We crave different types of music depending on our moods. Therefore we created Moodify as our solution.

What it does

Moodify generates a personalized playlist based on answers to short prompts. Using machine learning, it characterizes the input into different emotional categories and we generate a playlist using Spotify API.

How we built it

We started this web app off by designing the interface with Figma to get an idea of how we wanted our project to look. Once we got our prototype designed and working, we moved on to the developing aspect. We built this entire app with Next and React JS by implementing a machine-learning sentiment analysis for detecting the user input. Depending on what is outputted from our sentiment analysis framework, we use it to query Spotify's library in order to generate a personalized, curated playlist according to the user's mood of the day. Then, we also created an innovative and modern UI to display the playlist that was curated and added to the user's library. Our website allows the direct streaming of the curated playlist without having the user navigate to Spotify's website or app.

Challenges we ran into

We mainly encountered challenges with implementing the Spotify API. First, user authentication is a complicated matter, requiring us to generate tokens and interact with Spotify's authentication. Then, we faced a huge hurdle while querying the Spotify API to create a playlist. Mainly, our Next JS app kept throwing errors while calling the POST request during the playlist creation phase. We had to delete our implementation several times and try various methods to finally get it working.

Accomplishments that we're proud of

We are proud of overcoming the obstacles we encountered while coding the structure of our web app. These obstacles were overcome through trial and error as there were many new technologies that we were unfamiliar with. Additionally, we figured out how to use CSS on our web app to decorate the interface and make the user experience smoother.

What we learned

During this project, we learned how to combine and utilize several coding languages as well as use a variety of databases and APIs to our advantage. We also learned how to implement machine learning for user inputs, which was something new to all of us.

What's next for modify

In the future, we are looking to expand to more user platforms, such as Apple Music, Tidal, and Youtube Music. We are also looking to incorporate show recommendations for streaming platforms such as Netflix, Hulu, and Disney+ in future updates.

Built With

Share this project:

Updates