Inspiration

Many people worldwide suffer from mental health issues every day. Whether it's anxiety, stress, depression, or even burnout, everyone can use a friend. However, not everyone is surrounded by good communities. People also like to be comforted in many different ways. Hence, I built Relaxo.

What it does

Relaxo is an all-in-one app that strives to improve mental health over time. It contains a chatbot, Relaxo, who is always there to comfort you.

Additionally, the app has a journal. Upon posting a journal entry, generative AI analyzes it's sentiment and classifies if your day went positively, negatively, or neutrally.

Finally, the app has a page dedicated to breathing exercises. You simply describe how you're feeling in a few words, and AI is used to choose an optimal breathing exercise for you. Animations tell you when to inhale/exhale so that you can easily follow along.

How I built it

  • I used OpenAI's gpt-3.5-turbo Chat Completion model for all of the AI-related features. This includes the chatbot, sentiment analysis, and a breathing technique chooser. I connected this to a small API built with Python & FastAPI.
  • I used React on the front end to develop a user interface.
  • I used Firebase to handle user authentication
  • I used Netflix's DGS Spring Boot & GraphQL framework to build an API with a PostgreSQL database on the back end to handle storing user information and journal entries.

Challenges I ran into

  • The chatbot was acting in unexpected ways at times - for example, when asked to metaphorically do something, the chatbot would respond with something like "I am an AI language model and am not able to..." To overcome this, I researched prompt engineering on DeepLearning.AI, which taught me how to create effective system messages for the model. I also added examples for the bot to learn from and consequently deliver better results.

Accomplishments that I'm proud of

  • I'm happy that I was able to connect Generative AI to solve a real-life problem that affects those around me. Because this was my first time working with OpenAI, I'm glad that I was able to quickly learn this technology and integrate it with technology I'm already familiar with (such as React, Spring, etc.).

What I learned

  • This was my first project working with OpenAI's models. I learned how to use the OpenAI library and its chat model. I also learned a little bit about prompt engineering and how it can help the results of an LLM.

What's next for Relaxo

  • I want to continue to utilize AI so that Relaxo can be able to analyze a full journal history and tell you patterns from the data - For example, do certain names in your journal entries correlate with negative days? Which months do you feel better/worse? Patterns/trends like these can significantly help identify problems and improve one's mental health.
  • I also want Relaxo to have a larger variety of breathing techniques that it can help you with. I'd love to create more advanced & unique animations for each exercise, too.
Share this project:

Updates