Inspiration Suicide is the second leading cause of death among youth ages 15 to 19 in the United States. At the same time, mental health issues among children ages 8 to 16 have risen by 31% between 2019 and 2025. These numbers are shocking and show that many kids are struggling in silence. A lot of children are scared to open up to adults, whether it’s because they fear being judged or simply don’t know how to express what they are feeling. We wanted to create a solution that feels safe, non-judgmental, and available at any time. That’s where ZenBot came in. ZenBot is designed to be an AI companion for problems big and small. It provides users with a private, safe space to talk about their feelings and receive helpful, supportive feedback. We were inspired by the idea that technology could fill the gap where human systems sometimes fail, offering comfort and understanding when it’s needed most.
What we learned Throughout this project, we learned a lot about how AI can be used to support mental health in real, meaningful ways. We learned how to collect and clean real-world datasets from Kaggle, focusing on emotional support conversations to train our model. We explored how to fine-tune LLaMA 2, an advanced open-source large language model, to better understand and respond to users in distress. We also learned about integrating different technologies, like Python, Flask, React, and the OpenAI API, to bring everything together in a way that feels smooth and natural for the user. Most importantly, we learned how important it is to build tools that respect privacy and create safe environments for people to open up about difficult topics.
How we built it We started by gathering emotional support and mental health conversation datasets from Kaggle. After cleaning and preparing the data, we used it to fine-tune the LLaMA 2 language model to help ZenBot understand sensitive conversations and respond in a supportive and helpful way. For our front-end, we built the application using React and HTML to make sure the user interface was fast, clean, and easy to use. On the back-end, we used Python and Flask to handle conversation processing and manage API calls. We integrated OpenAI's API to help generate real-time responses and made sure our system could recognize voice input for a more natural experience. Features like Export Notes allow users to save and revisit conversations, while our voice recognition system detects distress in speech to offer coping strategies quickly. Our goal was to make ZenBot feel like a trusted companion that anyone could turn to at any time.
Challenges we faced One of the biggest challenges we faced was fine-tuning the LLaMA 2 model. It required a lot of testing and adjusting to get the responses to feel natural and supportive without sounding too robotic. Cleaning the Kaggle datasets was also a tough process because we had to remove irrelevant data and make sure the training material was clean and effective. Integrating voice recognition and making sure it accurately detected distress signals in real time was another challenge. We also had to work on keeping our API calls fast and secure, so that users could have smooth conversations without delays. Balancing all of these technical pieces while keeping the app user-friendly took time, but it taught us a lot about working with complex systems and building something that can genuinely help people.
Built With
- c++
- html
- javascript
- kaggle
- llama2
- openaiapi
- python
Log in or sign up for Devpost to join the conversation.