Mental health is one of the most important fundamental components of health, yet the recognition of mental health disorders and awareness of its importance is very limited. During this pandemic and lockdown, we observed that people have become inactive, less productive, and more gloomy due to social isolation and change in their daily routine.

Thus we bring to you Selfscape, a web application that can help you monitor your mood and provide you with insights into your behavioral patterns. The analysis will be based on your interests and daily diary entries, along with an in-built activity suggester chatbot to guide you better.

What it does

1. It addresses the pattern of the user's emotion using the mood scores entered on a daily basis.
2. It enables the user to keep a record of his/her interests, hobbies, and routine commitments, based on three different categories: Leisure, productivity, and learning.
3. One can maintain a personal diary on an everyday basis by entering their mood range (from 1-10) with a brief description and favorite them to review them later.
4. Gives a line-chart representation of the highs and lows the user experiences, every month by keeping a check on day-to-day mood swings through a well-maintained and color co-ordinated graph analysis.
5. To make the user's day more productive and interesting, the interactive virtual assistant (chatbot) suggests activities that can be performed, that interest them, based on their record entries and mood at that instant.

How we built it

  • We used Figma to design the webpages since we were so keen on making a beautiful UI.
  • The website front-end was made using HTML, CSS, and JS. We learned how to work with Chart JS to visualize the average mood of the user every month.
  • We learned how to make the chatbot from scratch using Google's Dialogflow and JS.
  • The website back-end was made using Node JS using MongoDB as the database. Being new to the backend, we managed to complete our website just in time and then deploy it on Heroku and Netlify where it is up and running!
  • We used to register a domain name for our website. (
  • Overall, it was a great learning experience trying our hands on several new software and building the site from scratch during the weekend.

Challenges we ran into

Working on various high-level tech stacks was a challenging yet satisfying experience for all of us. The major challenge that we came across was about how to use Google's Dialogflow API for integrating a virtual assistance experience since we were doing it for the first time. It took some time to understand and integrate the webhooks.

Frontend and back-end integration was also a time-consuming and exhausting task for us since there were several concepts that we learned on the way. To ensure that the collaboration goes smoothly between the front-end and the back-end, we then used Postman Documentation for better understanding. Backend deployment using Heroku took some time to figure out as well. Only after around three to four tries were we able to deploy everything smoothly on the cloud.

Accomplishments that we're proud of

We are super proud of the fact that we learned most technical concepts from scratch during this weekend and ended up making an efficient and useful web application serving its purpose for society. The application will act as a friend and a guide to help the community during these trying times as far as mental health is concerned.

We are also proud that in spite of various challenges faced, we were able to integrate our whole project with the Dialogflow API, backend, and the UI meticulously to make a totally functional application.

And finally, deploying the project in the cloud and making the application live and running, for the community, felt a great accomplishment in our journey of learning development. We hope the application helps make a huge difference to every user out there and brings a smile to their faces.

What we learned

The app and theme were self-designed on Figma using our imagination and creativity which was a new and refreshing experience. Incorporating a chatbot(virtual assistance) on a website was something we had never done before. We came across Dialogflow - an amazing platform to integrate such interactive chatbots to web applications.

For the first time, we delved a bit into data visualisation and learnt to include dynamic graphs on our website using a javascript library known as Chart.js. We did not really try our hands on the NodeJS framework before along with MongoDB as far as the backend is concerned. But trying out working with this popular environment was a great experience and very efficient at the same time. Finally, some very effective ways of integrating the frontend and the backend were also discovered with the help of REST APIs.

What's next for Selfscape ~ your perfect mood analyst

As far as future enhancements are concerned, we have planned to incorporate several advanced features pertaining to our user’s mental and physical well-being.

1. Music Suggestion feature: Based on the mood analysis of users, getting song recommendations as per their mood swings, according to different music genres.
2. Guided Meditation Experience: When the users feel low, they can go for some mental peace and relaxation which will provide them with a recorded expertise meditation experience.
3. Body Fitness Tracker: Monitoring health metrics like distance walked or ran and calorie consumption. This feature can help track physical activity conveniently and effectively.
4. Healthy food Advisor: Users can get advice on healthy food habits based on their entered body requirements and health status along with a proper diet recommendation plan.

The above features, once incorporated and intertwined, can lead to a one-stop application that would consist of everything one can need when it comes to improving the overall mental and physical state and growth of an individual with accurate guidance.

Share this project: