Inspiration

We were always intrigued by Spotify's recommendation algorithm, so we sought to do a project that would take things to the next level.

What it does

Instead of having Spotify or some other music app guess what songs you'd like based on your listening pattern, our web app takes in text input where the user describes their current emotional state, and a list of genres that interest them. Emotion.ly takes into account these specific demands and creates a playlist containing songs that would exactly match the user's needs.

How we built it

For the front-end, we used React as our Javascript framework and Tailwind as our CSS framework. For back-end we used Flask as the Python framework. We used a number of APIs, including: Spotify 'get recommendations' API, Youtube Music API, natural language processing toolkit, Python NLTK, and the Text-to-Emotion module.

Challenges we ran into

Back-end: we had to handle a lot of API calls, and we had to reduce load time to improve user experience. Front-end: we spent a lot of times on animations and making elements interactive.

Accomplishments that we're proud of

back-end: We managed to work with a lot of APIs, making sure everything works in harmony and is efficient. front-end: not completely losing our sanity while using CSS.

What we learned

back-end: We had our first experience with a lot of these APIs, but we learned and adapted in a short time window. front-end: We improved our skills working with React hooks and learned how to use Tailwind.

What's next for Emotion.ly

Try to implement scalability, better animations, a mobile app verson, and maybe even integrate ads.

Disclaimer!

Music audio did not record properly, come watch our presentation to see it in action!

Share this project:

Updates