Inspiration

My inspiration for the app comes from the growing need for accessible and personalized mental health support. In this stressful world, with many advancements and things happening around them, people do not get enough time to focus on their mental health. Hence the app would be an excellent way to improve their mental wellbeing and focus on things that would make them calm and relaxed.

What it does

InnerBalance is a comprehensive mental well-being app that combines mood tracking, virtual support groups, and resources by similar users. Users can track their moods, receive data-driven insights, access therapeutic content, and connect with a supportive community. The app's seamless integration with MongoDB Atlas and Google Cloud allows for secure data storage, advanced analysis, and real-time interactions.

How we built it

The Stack used for the app:

  • Swift for Frontend
  • Vapor for Backend
  • MongoDB as Database
  • Google Cloud for Cloud Operations

The authentication for the app was built using Google Cloud KMS, using which it was very easy to encrypt user passwords and securely store them in MongoDB Atlas. For creating analytics of user moods, BigQuery was used. To do this, I periodically ran a function that will update the JSON file in Google Cloud Cloud Storage, from which SQL commands were executed to produce personalized user analytics. DialogFlow was used to create a chatbot that seamlessly integrates with Swift to send intents and receive responses which can be trained according to however the user wants to interact with the bot. For Support groups functionality, a Kubernetes cluster was created onto which MongoDB Atlas was hosted and then used the Cloud Run Serverless functionality of GCP to run Swift-based code to perform CRUD operations into the Database. This makes it powerful, especially whilst using the Group chat to seamlessly receive chats from users and send chats.

Challenges we ran into

MongoDB Atlas driver for Swift had a lot of issues, and hence I couldn't incorporate it well, especially for the support group feature. But there was an official MongoDB - Vapor Swift boilerplate code that I used and made complete use of. It was my first time using BigQuery, so I had a lot of errors and issues which were solved by documentation and stack overflow.

Accomplishments that we're proud of

Proud of my app, and all the efforts that I've put into this have yielded an MVP model.

What we learned

Throughout the development of the app, I gained valuable insights into utilizing MongoDB Atlas and integrating various Google Cloud products effectively. I learned to navigate the complexities of data management, analysis, and real-time communication. Additionally, I also improved my skills in mobile app development, ensuring a seamless and engaging user interface.

What's next for InnerBalance - Mental Wellbeing App

In the future, I envision expanding InnerBalance's features by incorporating advanced machine-learning algorithms to provide more accurate therapy recommendations and personalized insights. This was something that I wanted to try for this app, but couldn't incorporate this.

The virtual support group experience will be enhanced and further integrated with artificial intelligence for natural language understanding and sentiment analysis.

Built With

Share this project:

Updates

Submission history