Inspiration
My inspiration for creating this mental health group chat for youth came from my personal experiences with therapy. Having grappled with the challenges of speech impediments and understanding the emotional toll it can take, I recognized the importance of providing a safe and supportive space for young people to connect, share their experiences, and access resources to navigate their mental health journeys. I have gone to professional therapists since elementary school, yet I have seldom felt entirely comfortable with them. They were kind people doing their best to help me, but as they did not share my condition, it was hard to open up to them. When I got older, I learned about this local support group with other stuttering youth and decided to attend. It was an incredible experience. I could genuinely open up and connect to people who had gone through the same things I did. One integral part of this support group that made it so inspiring was the presence of a college student with a stutter. He was slightly older than the rest of us, had come to accept his stuttering, and, in some ways, overcome it. He was much more open about his difficulties and experiences because of this, and he was able to guide and lead the conversation like a therapist would while still connecting with us due to being close to us in age and sharing our condition. This presence of an individual who has overcome their challenges and is willing to lead the conversation and won’t be seen as judgemental is critical to these events. However, these groups are sometimes hard to find, and it can be hard to find these individuals. That is why I created HelpingHand. This is an online chat platform with an AI moderator who will take the place of that leading individual. It will be able to lead the conversation while not being seen as judgemental due to its silicon nature.
What it does
Youth mental health problems have been on the rise, and HelpingHand is committed to tackling this issue head-on. It uses cutting-edge technology to help improve society and human health. HelpingHand allows users to create accounts and directly chat with others or form group chats with many different users. They can form groups centered around a common topic, such as speech impediments, depression, substance abuse, and more. The users can add Solace, the Large Language Model Therapist/Moderator, to this group. Solace would lead the conversation, help break the ice, and overall elevate the conversation by asking questions and providing positive feedback. As a transformer-based model, Solace can effectively use conversation history to do an optimal job. Users can also chat with Solace alone.
How I built it
HelpingHand uses React JS and Chatengine to create user accounts and allow them to chat with each other, Solace the Chatbot, and form group chats that can include Solace if they wish. Solace is an OpenAI-based Large Language Model run in Python. I used the OpenAI-API-based model instead of local models such as Llama2 to ensure that users experience reasonable response times from Solace.
Challenges I ran into
When creating this project, I had to optimize, clean, and process the text passed and returned from the model to ensure that it would properly understand and respond to the question. I also had to interface a javascript backend with the javascript frontend cleanly, and it took multiple tries to get a consistent interface. It was incredibly difficult to find a way to run a chatbot interface that had reasonable response times. I first tried to run the Llama2 LLM locally, but that took many minutes to form a basic response when run locally on a CPU, and this delay made it impractical for a service such as this.
Accomplishments that we're proud of
I am proud of creating a complete frontend and backend chat room alongside a working Large Language Model interface. I had to improve my knowledge of front-end programming in JavaScript and had to work continuously on processing the textual data for the Large Language Model. I am also really proud of managing to interface the LLM directly into the website. For past projects, I have struggled with AI because it is so resource-intensive. During this project, I effectively used the OpenAI API to produce clean text outputs reasonably quickly.
What I learned
I learned how to create an aesthetically pleasing and completely functional chat room using JavaScript and successfully implement a Large Language Model interface using Python.
What's next for HelpingHand
In the future, I want to extend HelpingHand's reach to the IOS and Google Play app stores, given its current availability solely as a website. Although the website can cater to various devices, including mobile ones, introducing a dedicated app would enhance the user experience for those on mobile devices and tablets. Moreover, I have plans to integrate a video call feature with Solace support in the future, which could prove beneficial for users who value visual interactions with the individuals they're communicating with.
Log in or sign up for Devpost to join the conversation.