Inspiration

Who doesn't feel stressed and anxious 😫 at some time or the other, but not all people have the resources to deal with it, or even know how to deal with it? Do you also think, there aren't many people, with whom you can talk about your mental health well-being 🗣️?

We have created a web application that helps you know about your personality and mental health well-being 🧠. It offers a GPT-3.5 powered ChatBot 💬, who can talk to you about your mental being, tailored to your personality traits. 🤗

Just fill in the Profile, Give a small test and talk to Bot.

The main problems we are trying to solve are:

  • Mental Health 🧠 is an essential aspect of our lives, but it is often ignored. We want to make people aware of their mental health and well-being.
  • Stress and Anxiety 😓 are very common problems, but not everyone has the resources to deal with them. We want to provide a platform where people can talk about their mental health and well-being.
  • Personality 📄 is a vital aspect of our lives, but it is often ignored. We want to make people aware of their personality traits and how they can improve them.
  • Someone to talk ??️ to about your mental health and well-being is very important, but not everyone has the resources to do so. We want to provide a platform where people can talk about their mental health and well-being to a chatbot, and the conversation is tailored to their personality traits.
  • Stigma ??️ around mental health is very common, we want to curb it, and empower people to talk about their mental health and well-being.
  • Awareness ??️ about mental health is very important, but it is often ignored. We want to make people aware of their mental health and well-being.

What it does

MindFul AI is an AI-powered tool, that helps you know about your personality and mental health well-being. It offers a GPT-3.5 powered ChatBot, which can talk to you about your mental being, tailored to your personality traits. It also offers a personality test, which helps you know about your personality traits, and how you can improve them. The test results are analyzed by a KNN model, which is trained on the Big Five Personality Traits.

Features

  • Personality Test 📖: It helps you know about your personality traits, and how you can improve them. The test results are analyzed by a KNN model, which is trained on the Big Five Personality Traits.
  • ChatBot 🤖: It offers a GPT-3.5 powered ChatBot, which can talk to you about your mental being, tailored to your personality traits. Talk about, how you are feeling, and the chatbot will help you out.
  • Mental Health Improvement ⚕️: It helps you improve your mental health and well-being, by providing you with a platform to talk about it, and also by providing you with resources to improve it. Just ask the chatbot, how you can improve your mental health, and it will help you.
  • Stress and Anxiety Reduction 😣: It helps you reduce your stress and anxiety, by providing you with a platform to talk about it, and also by providing you with resources to reduce it. Just ask the chatbot, how you can reduce your stress and anxiety, and it will help you.
  • MultiLingual Support 🗣️ Talk to the chatbot in your preferred language, although to get answeres in specific language, mention it in the query, like "tell me about my persona in Hindi" or just ask Question "parle-moi de ma personnalité"

Machine Learning in Action - KNN

We employed the K-Nearest Neighbors (KNN) algorithm to assess users' personality test outcomes and generate personalized personality reports grounded in the Big Five Personality Traits. Leveraging an unsupervised learning approach, our model was trained using an extensive dataset comprising over 6,000 data entries. KNN effectively partitioned the data into five distinct clusters, each corresponding to one of the Big Five Personality Traits, subsequently analyzing the user's test results to produce a comprehensive personality report structured around these fundamental traits.

Machine Learning in Action - GPT-3.5

We employed GPT3.5 to power our chatbot, and to generate responses to the user's messages. It uses the user's personality traits, to generate responses tailored to the user. We used LangChain to create prompt templates to interact with AI models. User needs to take the test once until they think to redo it and can chat any number of times, the chatbot will take the latest version of the user's personality traits from the database and will respond accordingly.

How we built it

Backend

  • Python 🐍: We used Python as our main programming language, for the backend and to train the ML models.
  • FastAPI 🚀: We used FastAPI as our main web framework, to build the backend, and to serve the ML models.
  • MongoDB 📊: We used MongoDB as our main database, to store the user data, and the chatbot conversations. It also stores the user's personality test results.
  • Azure App Service 🧑‍💻: We used Azure App Service to deploy our backend, and to serve the API.
  • LangChain ⛓️: We used Langchain to create prompt templates to interact with AI models

ML Models

  • GPT-3.5 🤖: We used GPT-3.5 to power our chatbot, and to generate responses to the user's messages. It uses the user's personality traits, to generate responses tailored to the user.
  • KNN 🔎: We used KNN to analyze the user's personality test results, and to generate a personality report, based on the Big Five Personality Traits. It is an un-supervised learning model, trained over 6000 rows of data.
  • Pandas 📈: We used Pandas to clean and analyze the data, and to train the KNN model.
  • Scikit-Learn 📦: We used Scikit-Learn to train the KNN model.
  • Jupyter Notebook: We used Jupyter Notebook to train the KNN model, and to analyze the data.

Frontend📖

  • ReactJS ⚛️ - We used ReactJS as our main frontend framework, to create the frontend components and to route all the requests to the appropriate handlers.
  • ChakraUI 🎨 - We used ChakraUI as our choice of UI framework, to create the frontend design.
  • OAuth 🔐: We used Google OAuth to authenticate the user, and to store the user's data in the database.

System Architecture

Flowchart

Flowchart

System Architecture Diagram

System Architecture Diagram

Challenges we ran into

  • GPT Model & LangChain 🤖: We faced a lot of challenges while using the GPT model, and LangChain. We had to create a lot of prompt templates, to interact with the GPT model, and to generate responses tailored to the user's personality traits.
  • KNN Model 🔎: We faced a lot of challenges while training the KNN model, and analyzing the data. We had to clean the data, train the model, analyze the user's personality test results, and generate a personality report, based on the Big Five Personality Traits.
  • Deployment 🖥️: We faced a lot of challenges while deploying the backend, and the ML models. We had to deploy the backend, and the ML models, to serve the API, and to interact with the frontend.
  • OAuth 🔐: We faced a lot of challenges while implementing OAuth. We had to implement OAuth, to authenticate the user, and to store the user's data in the database.

Accomplishments that we're proud of

  • GPT Model & LangChain 🤖: We are proud of the fact, that we were able to use the GPT model, with LangChain, to create a chatbot, that can talk to the user about their mental health and well-being, tailored to their personality traits.
  • KNN Model 🔎: We are proud of the fact, that we were able to use the KNN model, to analyze the user's personality test results, and to generate a personality report, based on the Big Five Personality Traits.
  • Deployment 🖥️: We are proud of the fact, that we were able to deploy the backend, and the ML models, to serve the API, and to interact with the frontend.
  • OAuth 🔐: We are proud of the fact, that we were able to implement OAuth, authenticate the user, and store the user's data in the database.
  • UI/UX 👨🏻‍💻: We are proud of the fact, that we were able to create a beautiful UI/UX, to interact with the user, and to make the user experience better.
  • Documentation 📝: We are proud of the fact, that we were able to create a beautiful documentation, to help the user, and to make the user experience better.

What we learned

  • GPT Model & LangChain 🤖: We learned how to use the GPT model, with LangChain, to create a chatbot.
  • KNN Model 🔎: We learned how to use the KNN model, to analyze the user's personality test results, and to generate a personality report, based on the Big Five Personality Traits.
  • Deployment 🖥️: We learned how to deploy the backend, and the ML models, to serve the API, and to interact with the frontend.
  • OAuth 🔐: We learned how to implement OAuth, authenticate the user, and store the user's data in the database.

How Market Ready is it?

What can customers do with the current version of the product?

  • Personality Test 📖: It helps you know about your personality traits, and how you can improve them. The test results are analyzed by a KNN model, which is trained on the Big Five Personality Traits.
  • ChatBot 🤖: It offers a GPT-3.5 powered ChatBot, which can talk to you about your mental being, tailored to your personality traits. Talk about, how you are feeling, and the chatbot will help you out.
  • Mental Health Improvement ⚕️: It helps you improve your mental health and well-being, by providing you with a platform to talk about it, and also by providing you with resources to improve it. Just ask the chatbot, how you can improve your mental health, and it will help you.
  • Stress and Anxiety Reduction 😣: It helps you reduce your stress and anxiety, by providing you with a platform to talk about it, and also by providing you with resources to reduce it. Just ask the chatbot, how you can reduce your stress and anxiety, and it will help you.

What's next for MindFul AI

  • Mental Health Resources ⚕️: We want to provide the user with more mental health resources, to improve their mental health and well-being.
  • More Tests 🧪: We want to provide the user with more tests, to know about their personality traits, stress, anxiety, depression, and how they can improve them.
  • More ChatBot Features 🤖: We want to provide the user with more chatbot features, to improve their mental health and well-being. This includes saving and summarising all chats
  • More Personality Traits 🤩: We want to provide the user with more personality traits, to know about their personality better.

Built With

Share this project:

Updates