Inspiration
CalmConnect was inspired by the shortage of mental health resources both on and off campus. With staff being overextended, many individuals in crisis are unable to access the help they need. This issue is compounded by the already significant barrier of deciding to ask for help in the first place.
Therapists miss nearly 30% of their inbound calls, and less than half follow up due to time and energy constraints. However, this lack of response can discourage potential patients from reaching out again. That’s why we created CalmConnect. If the therapist does not pick up, patients can simply text the number.
What it does
We wanted to create a solution that ensures everyone who seeks help is heard. Our AI-receptionist intercepts text messages that new patients send to either a private-practice therapist or a clinic. The AI chats with the patient to figure out who they are and what they need. Then, the AI assures the patient that they've been heard, summarizes that information, and relays it to the therapist who can reach out later on.
How we built it
We built CalmConnect’s AI-receptionist using TwilioSMS for text message management and a Python Flask backend to process and analyze incoming texts. The backend also integrates GPT4o to provide thoughtful, helpful responses to patients. After conversations conclude, the backend summarizes the data and securely stores it in a Postgres database, utilizing Row Level Security policies to ensure data protection. For the therapist interface, we developed a web application using NextJS, TailwindCSS, and MaterialUI. Therapists can sign up with PKCE authentication and Google OAuth, set clinic details, and manage incoming patient requests through a clean dashboard that tracks therapist availability, appointments, and clinic details.
Challenges we ran into
We encountered several challenges while building CalmConnect. Fine-tuning our AI-receptionist to not only generate thoughtful responses but also ensure they adhered to the format required by our backend was no easy feat. Integrating the GPT4o model with our database proved equally challenging, as we had to develop methods for formatting and extracting structured data. On the front-end, we faced issues with broken styles due to differences in how server-side rendering behaves in production versus development environments, forcing us to go back and refactor large chunks of our code.
Accomplishments that we're proud of
- Successfully configured Twilio and hooked up with GPT4o to hold conversation with client.
- GPT4o has access to the most updated information from the database, and it can upload new appointments to the database.
- Developed full stack web app that allows therapists to view and accept these pending requests, which adds the appointment to the calendar.
What we learned
We gained valuable insights into LLMs, prompt engineering, AI agents, and how AI can transform the mental health space. Specifically, we learned LLMs can be combined with rule-based programming to give them new capabilities, like interacting with databases. Getting SMS messaging to work with real phone numbers wasn’t easy. Twilio imposes strict limitations on sending SMS, and we had to apply for verification to prevent being flagged as spam. In order to receive the incoming SMS we had to set up a reverse proxy with ngrox.
What's next for Calm Connect
Develop a business model and give real therapists and mental health institutions demos of our product for potential adoption. Extend the capabilities of our AI-receptionist to handle phone calls. Upgrade the AI models to be more accurate when analyzing, parsing, and summarizing text.
Built With
- cloudflare
- css
- flask
- gpt4o
- javascript
- materialui
- next
- oauth
- openai
- pkce
- postgresql
- python
- react
- tailwindcss
- twilio
- typescript


Log in or sign up for Devpost to join the conversation.