Inspiration
In today's world where everyone is striving for achievement, but many people are succumbing to depression as a result of this struggle. Making a few poor decisions occasionally. As a result, Moodify was designed to assist people in de-stressing by recommending movies and songs based on their feelings.
What it does
Moodify is a facial expression recognition-based movie and music suggestion website that cheers up users and saves time while searching for a movie or song that matches their mood.
- It recognizes facial expression based on the 7 categories i.e., angry, sad, fear, happy, disgust, surprise, and neutral.
- Based on the emotion it gives the user two choices either suggesting movies or songs.
- If a user wishes to watch movies/songs then a list of movies/songs matching their mood are suggested with a movie/songs poster.
- When a user clicks on the movie that he wishes to watch, they will be redirected to the IMDB website and for songs, it redirects them to the Spotify website.
How we built it
Python is the programming language used to create the emotion recognition model and deploy it on the web application using flask. CV2, TensorFlow, NumPy, matplotlib, and other libraries are also utilized. The model is built using the transfer learning approach for which the MobileNet model is used. The FER-2013 dataset, which comprises around 35000 photos, was utilized for model training and validation. This model is deployed on a website created with HTML and CSS using the flask framework. Based on the seven emotions, a new dataset of movies and music was constructed. The data from movies and songs were utilized to create the various templates that correlate to various emotions.
Challenges we ran into
It was hard to find Movies and Songs' datasets that reflected different emotions on the web. Finding templates of emotion-based movies and songs proved to be a major challenge. It was a challenging task to get the website to access 7 movie templates from the movies button and 7 song templates from the songs button based on the emotion recognized. Dynamic links were used as a means to access the templates for movies/songs corresponding to the output of the model.
Accomplishments that we're proud of
Creating a project that is effective for the modern generation. Working in unison despite being far away from each other. Creating this awesome project in such a small span of time! Learned a great deal about Python and different frameworks such as flask and its integration, many new libraries in Python. We thought and build the entire solution in such a small amount of time, overcame all the challenges, and find a hack to each problem.
What we learned
We learned about the transfer learning approach for the model, which assisted us in face identification, as well as how to develop basic web pages using HTML, CSS and how to deploy the model on the web using flask.
What's next for Moodify
The next step is to improve the model's accuracy. We are also going to introduce an AI-based chatbot with which users may express their problems and, based on the same, the Bot will recommend some remedies as well as the most suitable movie or song in that case.

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