Back to ProjectsAI/ML

CalmSignal — Mental Health Chatbot

Streamlit + Python app: (1) PHQ-9 on signup, chatbot replies based on condition; (2) Chat with friends—upload screenshots, analyze conversation, provide contextual replies. NLP for mental health support.

Languages
Python
Skills & Tech
StreamlitOpenAI APINLPPHQ-9OCRSentiment Analysis
CalmSignal — Mental Health Chatbot

Mental-health tooling carries real responsibility — responses need to be empathetic and contextually appropriate, not generic chatbot output. CalmSignal is a Streamlit + Python support app built around two flows: a PHQ-9 depression screener that shapes how the chatbot responds, and a "chat with friends" tool that analyzes uploaded conversation screenshots to suggest contextual replies. That meant building a condition-aware response layer on top of standard NLP, informed by the user's PHQ-9 result rather than treating every user identically.

What I Built

  • PHQ-9 screening on signup — a standard depression screening questionnaire that sets the tone for chatbot interactions
  • Condition-aware chatbot — responses adapted based on the user's screening score
  • Screenshot-based conversation analysis — OCR extracts text from uploaded chat screenshots
  • Contextual reply suggestions — the AI proposes empathetic, situation-aware responses for difficult conversations
  • NLP pipeline combining sentiment analysis and intent detection tuned for mental-health-aware processing

Tech Stack

  • Frontend: Streamlit
  • Backend: Python
  • AI/NLP: LLMs, sentiment analysis, intent detection
  • OCR: Text extraction from conversation screenshots

Key Decisions

  • Used the PHQ-9 screening result to shape chatbot tone and response style rather than treating every user identically, since generic chatbot output is a poor fit for mental-health-sensitive contexts
  • Added OCR-based screenshot analysis as a separate flow from the main chatbot rather than merging them, since analyzing a friend's conversation needed different context handling than a direct PHQ-9-informed chat
  • Kept the NLP pipeline focused on sentiment and intent rather than attempting diagnosis, staying within the bounds of what a supportive tool should responsibly attempt

Outcome / Impact

A supportive tool that personalizes chatbot interactions per user and helps people navigate difficult conversations with better-informed replies, grounded in a real screening instrument rather than generic chat.

Interested in similar work?

Let's discuss your next project.

Contact Me