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

  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