MindHack - Mental Health Training & Support Platform
A web application for mental health training and AI-powered emotional support. Practice helping skills through realistic simulations or chat with supportive AI companions anytime.
Features
Training Mode
Practice empathetic conversations with AI personas representing various mental health scenarios:
- Realistic AI Personas: Depression, Anxiety, Burnout, Grief, Self-Esteem, Relationships, Crisis
- Skill Progression: 10 levels from "Beginner Helper" to "Master Supporter"
- Empathy Scoring: AI evaluates your responses and provides feedback
- XP & Badges: Earn experience points and unlock achievements
- Progress Tracking: Track sessions, streaks, and growth over time
Support Mode
24/7 AI companions for emotional support:
- Emma - Empathetic Listener (depression, loneliness)
- Marcus - Anxiety Specialist (worry, overthinking, panic)
- Jordan - Burnout Coach (stress, exhaustion, work-life balance)
- Sofia - Grief Companion (loss, bereavement)
- Alex - Relationship Guide (relationships, communication)
- Casey - Self-Esteem Coach (confidence, self-worth)
Crisis Resources
- Global crisis hotline directory (100+ countries)
- Immediate emergency numbers
- Safety planning tools
- Professional resource links
Additional Features
- Dark Mode: Full dark theme support
- Panic Mode: Quick-hide feature for privacy
- Responsive Design: Works on mobile and desktop
- Markdown Support: Rich text in messages
- Local Progress Storage: Your data stays on your device
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React, TypeScript, Tailwind CSS |
| Backend | Express.js, TypeScript |
| AI | Minimax API (LLM for responses and scoring) |
| Styling | Tailwind CSS, Lucide Icons |
Project Structure
mindhack/
├── packages/
│ ├── web/ # Next.js frontend
│ │ └── src/
│ │ ├── app/ # App pages (App Router)
│ │ │ ├── training/ # Training mode
│ │ │ ├── support/ # Support mode
│ │ │ ├── crisis/ # Crisis resources
│ │ │ ├── resources/ # Mental health articles
│ │ │ ├── how-it-works/
│ │ │ ├── privacy-policy/
│ │ │ ├── terms-of-service/
│ │ │ └── disclaimer/
│ │ ├── components/ # Reusable UI components
│ │ ├── context/ # React contexts (theme)
│ │ └── hooks/ # Custom React hooks
│ │
│ ├── backend/ # Express API server
│ │ └── src/
│ │ ├── routes/ # API endpoints
│ │ ├── services/ # Business logic
│ │ └── middleware/ # Express middleware
│ │
│ ├── mobile/ # React Native (planned)
│ └── shared/ # Shared TypeScript types
│
├── .env.example # Environment variables template
└── README.md
Getting Started
Prerequisites
- Node.js 18+
- npm or yarn
Installation
Clone the repository:
git clone https://github.com/flexonb/mindhack.git cd mindhackInstall dependencies:
npm installSet up environment variables:
cp packages/backend/.env.example packages/backend/.env # Edit .env with your API keysStart development servers:
Backend (Terminal 1):
cd packages/backend
npm run dev
Web (Terminal 2):
cd packages/web
npm run dev
- Open http://localhost:3000 in your browser
Environment Variables
| Variable | Description |
|---|---|
PORT |
Backend server port (default: 4000) |
MINIMAX_API_KEY |
API key for Minimax LLM |
MINIMAX_BASE_URL |
Minimax API endpoint |
API Endpoints
AI Chat
POST /api/ai/chat- Send message to companion/personaGET /api/ai/support/companions- Get available companionsGET /api/ai/training/personas- Get training personas
How It Works
Training Mode Flow
- Choose a persona (e.g., someone experiencing anxiety)
- Practice empathetic responses in chat
- AI evaluates your responses with a score
- Earn XP and track your progress
Support Mode Flow
- Select a companion that matches your needs
- Start chatting about what's on your mind
- Receive empathetic, supportive responses
- Access crisis resources if needed
Pages
| Route | Description |
|---|---|
/ |
Home page with feature overview |
/training |
Training mode with personas |
/training/chat |
Chat interface for training |
/support |
Support companions selection |
/support/chat |
Chat with AI companion |
/crisis |
Global crisis hotlines |
/resources |
Mental health articles |
/how-it-works |
Step-by-step guide |
/privacy-policy |
Privacy policy |
/terms-of-service |
Terms of service |
/disclaimer |
Medical disclaimer |
Security
- API Keys: Stored in
.env(never committed) - Local Storage: Progress stored locally on your device
- No Sensitive Data: No personal data collected or transmitted
- HTTPS: Use HTTPS in production
Disclaimer
MindHack is an educational tool and NOT a substitute for professional mental health care. If you're experiencing a mental health crisis:
- Call 988 (US) or your local emergency number
- Go to your nearest emergency room
- Contact a crisis hotline
License
MIT License - See LICENSE file for details.
Built with care for mental health awareness and support 💙
Built With
- api
- css
- express.js
- icons
- lucide
- minimax
- next.js-14
- react
- tailwind
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.