Mood Master is a website that helps people with bipolar disorder learn more about their actions and emotions. It uses a video software to capture and analyze the facial expressions of the user and provide personalized feedback and suggestions. It also uses a message analysis tool to detect the tone and sentiment of the user’s texts and offer guidance and support.
My motivation for creating Mood Master was to help people with bipolar disorder learn more about their actions and emotions, and to use the power of technology to make this tool more accessible and engaging for the users.
I learned a lot from building this project, such as how to use facial detection and emotion classification algorithms, how to use message analysis tools, how to design a user-friendly and interactive interface, how to optimize the performance and efficiency of the website, and how to publish the website on the internet.
To run this project, follow these steps, must have python (3.11 preferred) and pip installed:
- Use
git clone https://github.com/AnSingh1/Mood-Master.git
to clone the repo to your local machine - Run
pip install -r requirements.txt
to install the dependencies - Enter in the following fields in the .env file:
API_KEY: Enter your OpenAI api key
PATH_TO_TEXT: Replace the absolutePath with the absolute path to the Mood Master folder, make sure it is followed by /text/model
FIREBASE_URL: Enter your firebase url
FIREBASE_API_KEY: Enter your firebase api key, should be in a json format.
- Run
python app.py
to start the server - Open
http://localhost:5000
in your browser
- Mood View: Mood View is a feature that uses a video software to capture and analyze the facial expressions of the user in real time or with a video/image upload. It uses a facial detection algorithm to detect the user’s face and a facial expression classification algorithm to classify the user’s facial expression.
demo_tracking.mp4
Classified video through Mood View
- MoodBot: MoodBot is an interactive chatbot that can provide personalized feedback and suggestions to the user. It uses the results from Mood View to help the user learn more about their actions and emotions. Powered by OpenAI.
- Mood Text: Mood Text is a feature that uses a message analysis tool to detect the tone and sentiment of the user’s texts and offer guidance and support. Powered by OpenAI.
- Login system: The login system allows the user to create an account and login to their account. It uses Fernet encryption and can withstand brute force attacks. Powered by Firebase.
Python: Backend Language
Flask: Backend Microframework
Firebase: Login System
Javascript: Frontend Language
Keras: Facial Detection and Emotion Classification
OpenCV: Image Manipulation
OpenAI: Chatbot functionality
NumPy: Encoding handling
Tensorflow: Facial Detection and Emotion Classification
jQuery: Frontend Element Manipulation
Jinja: Frontend to backend calls
Typekit: Custom Fonts
HTML: Frontend Structure
CSS: Frontend Styling
The Mood Master website is licensed under the MIT License. This means that you can use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the website, as long as you include the original license notice and a list of changes in any modified copies.