Skip to content

AI-powered mental health support platform with anonymous chat, crisis detection, and peer support - Self-hosted & open source by Team ZenYukti

License

Notifications You must be signed in to change notification settings

ZenYukti/OpenMindWell

OpenMindWell ๐ŸŒฑ

Landing Page Glimpse for OpenMindWell

License PRs Welcome Built by Self-Hosted

A compassionate, AI-powered mental health support platform

๐Ÿ  Self-Hosted Project: OpenMindWell is designed to be deployed by each user with their own infrastructure. There is no central hosted instance - users maintain full control of their data and deployment.

โš ๏ธ IMPORTANT DISCLAIMER: OpenMindWell is NOT a substitute for professional mental health care. If you are in crisis, please contact emergency services or a crisis hotline immediately.

๐ŸŒŸ Features

  • Anonymous Chat Rooms - Join peer support groups without revealing identity
  • AI Crisis Detection - Automatic detection of concerning messages with resource suggestions
  • Private Journaling - Track mood, thoughts, and personal reflections
  • Habit Tracking - Build positive daily habits with streak tracking
  • Resource Library - Curated mental health resources, hotlines, and exercises
  • Volunteer Moderation - Community-driven safety and support

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • Supabase account (free tier)
  • HuggingFace account (free tier)

Installation

  1. Clone the repository
git clone https://github.com/YOUR_USERNAME/OpenMindWell.git
cd OpenMindWell
  1. Install dependencies
npm install
cd backend && npm install && cd ..
cd frontend && npm install && cd ..
  1. Set up Supabase

    • Create a free account at supabase.com
    • Create a new project
    • Go to SQL Editor and run database/schema.sql
    • Enable Anonymous authentication: Authentication โ†’ Providers โ†’ Anonymous (toggle ON)
    • Disable CAPTCHA for development: Authentication โ†’ Settings โ†’ Disable CAPTCHA
  2. Configure environment variables

Backend (backend/.env):

SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_KEY=your_service_role_key
HUGGINGFACE_API_KEY=your_hf_token
FRONTEND_URL=http://localhost:3000
PORT=3001

Frontend (frontend/.env):

VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_anon_key
VITE_API_BASE_URL=http://localhost:3001
VITE_WS_URL=ws://localhost:3001
  1. Get API keys

    • Supabase: Project Settings โ†’ API (URL, anon key, service_role key)
    • HuggingFace: huggingface.co/settings/tokens โ†’ New Token (Read access)
  2. Run the application

# From root directory
npm run dev

๐ŸŒ Deployment

OpenMindWell is a self-hosted application. Each deployment requires:

  • Your own Supabase account (free tier available)
  • Your own HuggingFace API token (free tier available)
  • Hosting platform of your choice

Recommended Deployment Options:

Option 1: Cloud Hosting (Recommended for production)

  • Frontend: Vercel (free tier)

    1. Import GitHub repository
    2. Add environment variables from frontend/.env.example
    3. Deploy automatically from main branch
  • Backend: Render or Railway (free tier)

    1. Connect GitHub repository
    2. Set build command: cd backend && npm install && npm run build
    3. Set start command: cd backend && npm start
    4. Add environment variables from backend/.env.example

Option 2: Self-Hosted (Full control)

  • Deploy on your own VPS (DigitalOcean, AWS, etc.)
  • Use Docker containers (Dockerfile included in backend)
  • Run with PM2 or systemd for process management

Option 3: Local Network

  • Run on local machine for personal use
  • Great for testing and development

Important Notes:

  • ๐Ÿ”’ Each user maintains their own database and API keys
  • ๐ŸŒ No central hosted instance exists
  • ๐Ÿ’ฐ All infrastructure costs are borne by the deployer
  • ๐Ÿ›ก๏ธ You control data privacy and security

See OPENMINDWELL_PROJECT_GUIDE.md for detailed deployment instructions.

๐Ÿš€ Quick Start

# Clone the repository
git clone https://github.com/yourusername/openmindwell.git
cd openmindwell

# Install dependencies
npm install

# Set up environment variables
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# Edit .env files with your credentials

# Run both servers
npm run dev

Visit http://localhost:3000

๐Ÿ“š Documentation

READ THIS FIRST: OPENMINDWELL_PROJECT_GUIDE.md

This comprehensive guide contains:

  • Complete setup instructions
  • Free service account creation
  • Deployment guides
  • Security considerations
  • Contribution guidelines

๐Ÿ› ๏ธ Tech Stack

100% Free Services:

  • Frontend: React 18, Vite, React Router, TypeScript, Tailwind CSS โ†’ Vercel/Netlify
  • Backend: Node.js, Express, WebSocket, TypeScript โ†’ Render/Railway
  • Database: Supabase (PostgreSQL + Auth)
  • AI: HuggingFace Inference API (emotion detection)

๐Ÿ“ Project Structure

openmindwell/
โ”œโ”€โ”€ backend/           # Express API + WebSocket server
โ”œโ”€โ”€ frontend/          # React + Vite application
โ”œโ”€โ”€ OPENMINDWELL_PROJECT_GUIDE.md
โ”œโ”€โ”€ CONTRIBUTING.md
โ””โ”€โ”€ package.json       # Monorepo scripts

๐Ÿ”’ Safety Features

  • Prominent crisis disclaimers throughout the app
  • AI-powered crisis detection on all messages
  • Automatic resource suggestions
  • User reporting and moderation system
  • Anonymous/pseudonymous accounts only
  • Row-level security on all data

๐Ÿค Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Perfect for:

  • ๐ŸŽ“ GSoC, Hacktoberfest, WoC programs
  • ๐Ÿ’ผ Portfolio projects
  • ๐ŸŒ Making a social impact

๐Ÿ“ž Crisis Resources

If you're in crisis:

๐Ÿ‡บ๐Ÿ‡ธ United States:

  • 988 Suicide & Crisis Lifeline: Call/Text 988
  • Crisis Text Line: Text HOME to 741741

๐Ÿ‡ฎ๐Ÿ‡ณ India:

  • iCall Psychosocial Helpline: 9152987821 (Mon-Sat, 8 AM - 10 PM IST)
  • KIRAN Mental Health Helpline: 1800-599-0019 (24/7, Toll-free)

๐ŸŒ International: findahelpline.com

๐Ÿ“„ License

MIT License - See LICENSE for details

โš ๏ธ Ethical Use

This platform is designed to:

  • โœ… Provide peer support and community
  • โœ… Share coping strategies and resources
  • โœ… Reduce stigma around mental health

This platform is NOT:

  • โŒ A replacement for therapy or medical treatment
  • โŒ Qualified to diagnose or treat mental health conditions
  • โŒ A crisis intervention service

๐Ÿค Contributing

We welcome contributions from the community! OpenMindWell is built with the mission to make mental health support accessible to everyone.

Ways to Contribute:

  • ๐Ÿ› Report bugs and issues
  • ๐Ÿ’ก Suggest new features
  • ๐Ÿ”ง Submit pull requests
  • ๐Ÿ“– Improve documentation
  • ๐ŸŒ Translate to other languages

See CONTRIBUTING.md for guidelines.


๐Ÿ’œ Built by Team ZenYukti

ZenYukti - Building innovative solutions for mental wellness and personal growth.

Connect with us:


Remember: Seeking professional help is a sign of strength, not weakness. ๐Ÿ’™

About

AI-powered mental health support platform with anonymous chat, crisis detection, and peer support - Self-hosted & open source by Team ZenYukti

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published