The daily lives of people throughout the world have changed drastically due to the ongoing pandemic. Staying at home, being confined by the walls has alarming implications for individual and collective health as well as emotional and social functioning. Everyone is getting affected more due to their disproportionate schedules altered due to work-from-home and household chores duties, people are facing the brunt of stress and tension, working from home. This has given rise to severe mental health problems.
Furthermore, the stigma around about mental health remains formidable and many believe that this can wait and that efforts should focus on preserving life and work. But, Poor mental state affects not only the life of the person who suffers from the problems but also the lives of family and friends and ultimately affects society as a whole. In these times of distress people require some help, someone to talk to, and it's likely that they require a combination of self-care, treatment, and support that suits them to make progress and get better. Staying mentally healthy is one of the keys to surviving the ongoing pandemic and also laying down the foundation for building the post-pandemic society.
What it does
Vyavahaar is a web app help to diagnose the mental health of a person. It helps to quantify the mental health among three parameters: stress, anxiety and depression, with the help of a specially designed questionnaire containing questions related to the defined parameters. Emotion detection is implemented to get an overview of the person's emotions in real time.
Also, a vent out wall is implemented on the website on which any person can share their thoughts and experiences with the community, anonymously. On the basis of the scores taken from the questionnaire the mental state of the person will be approximated. The results do not guarantee anything, and it is easy to generate fake report, therefore we are relying on the user to answer the questionnaire punctually.
It provides the user with following options to take help:
- Self-help, in this case, if user is not going through serious mental stress therefore, the user will be suggested few blogs and videos to cheer up.
- Needs counselling, in this case, if the user is holding in a lot of thoughts which are leading to mental stress and anxiety, the user will therefore be brought in contact with our counselors, who can contact the user through texts or if user agrees to, through calls.
- Therapy, in this case, if it is found that the user is going through serious mental problems, and it is suggested that he/she should seek professional help. The user will be brought in contact with professionals through the counselors.
How we built it
- FastAPI - FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
- Firebase - Real time online Database
- jQuery - Ajax - jQuery simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
- Tensorflow - TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that let researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications.
- OpenCV - OpenCV provides a real-time optimized Computer Vision library, tools, and hardware.
- Uvicorn - Uvicorn is a lightning-fast ASGI server implementation, using uvloop and httptools.
Challenges we ran into
The challenges we faced while working was capturing image and uploading image to feed modal. We also worked with Fastapi for the first time, but we were quickly able to learn and implement. With minimal prior experience with Firebase, we struggled to store post and user login data. Lastly, figuring out the way to categorize patient based on questionnaire. Also, integrating heavy ML model to work seamlessly with the rest of the application was quite a challenge.
Accomplishments that we're proud of
We developed a model which is relatively efficient to predict. We were also proud to figure out an algorithm to predict mental stress and anxiety level. We were also able to integrate a user authentication system. Not only that, but we were able to implement a fully functional vent out wall and integrate it with Firebase. Finally, we are happy to have completed a feature-rich web app with an aesthetic UI inside the given time frame, which was made using Figma.
What we learned
We learned to use TensorFlow for image classification. We also learned to use OpenCV along with FastAPI to predict emotions through a face image. Along with this, we learned how to structure and integrate our Firebase database with our web application. We made use of Instagram and YouTube embeds and WhatsApp API for chatting.
What's next for Vyavahaar
In the Future, we would like to develop a chatbot which will be used to interact with users. We also want to develop a inbuilt video meeting portal to provide therapy and consultancy. We also like to add a report feature in vent out wall to control inappropriate comments. We also want to add an appointment and registration system