Inspiration
Music is something that many people bond over, but finding a song that perfectly matches a certain mood or vibe can take a lot of time. This is something all of us have struggled with, and we wanted to create a website that could make finding music easier and be useful to people of all ages and backgrounds.
What it does
The Moodmixer allows users to create personalized playlists by describing their mood or selecting one from a dropdown menu. Users can also choose how many songs they want, select multiple genres, and pick the eras they want their music to come from. This helps users find songs that match their mood and preferences without spending so much time skipping through playlists to find the right song.
How we built it
We used FastAPI and Docker to create endpoints for the frontend. We integrated the Gemini API to process users’ moods and descriptions and return a JSON list of recommended songs. Then, we used the AudioDB API to retrieve additional information about each song such as the artist, duration, and album, before displaying the results on the frontend. Finally, we used the Spotify API to create a Spotify playlist with the recommended songs, allowing users to listen to their personalized playlists directly on Spotify.
Challenges we ran into
The hardest part of our coding process was working with APIs and navigating the limitations of the Spotify API. Since we were limited to 10 playlist generations, we couldn't test our code as often as we wanted. We also ran into several errors when connecting the frontend and backend, especially when trying to get the generated playlists to link to Spotify.
Accomplishments that we're proud of
The accomplishment we’re most proud of is being able to use the Gemini API to generate personalized playlists and then turn those recommendations into actual Spotify playlists. We’re also proud of adding the ability to remove songs users don’t want and replace them with new recommendations, giving users a more personalized experience.
What we learned
Through this project, we learned the basics of building a website, since none of us had much experience with web development. We also learned how to work with APIs and connect the frontend and backend so they could communicate with each other and the Gemini API.
What's next for Moodmixer
We hope to make The Moodmixer something people can use in their everyday lives. Struggling to find music that matches your mood is something that many people struggle with, and we would love to continue improving this website to make it easier for people to discover songs they will enjoy. We hope to reach more people and expand the features of our website, making it a go-to option whenever someone is looking for music to listen to.
Log in or sign up for Devpost to join the conversation.