Your compassionate AI companion for mental wellness
MAIA is a web-based AI-powered mental health support platform that provides 24/7 emotional support in a safe, private space. It features a patient-facing AI chat interface and a therapist-facing dashboard for professional oversight.
⚠️ Important Disclaimer: MAIA does not diagnose conditions, replace professional therapy, or provide medical advice. It is designed as a supportive tool to complement professional mental health care.
MAIA leverages Backboard to provide advanced AI features (Some Detailed Flows):
- Persistent Conversations - MAIA remembers context across sessions, maintaining continuity in therapeutic conversations
- Per-User Assistants - Each patient gets a dedicated AI assistant with isolated memory and context
- CBT Knowledge Base - AI responses are grounded in Cognitive Behavioral Therapy literature and best practices
- Therapist Notes Integration - Therapists can upload patient notes that inform MAIA's responses for personalized support
- Guardian AI - Real-time detection of concerning patterns or crisis indicators, automatically notifying therapists
- 💬 Empathetic AI Chat - 24/7 access to a supportive AI companion that remembers your journey
- 📜 Chat History - Full access to previous conversations
- 🧘 CBT-Informed Support - Responses guided by evidence-based therapeutic techniques
- 👨⚕️ Therapist Connection - View assigned therapist information
- 🔗 Assignment Management - Accept or deny therapist assignment requests
- 📊 Patient Dashboard - Centralized view of all assigned patients
- 📝 Session Notes - Upload and manage patient notes that enhance AI personalization
- 📋 Weekly Summary Generation - AI-generated summaries of patient conversations and progress
- 🚨 Safety Alerts - Real-time notifications when the AI detects concerning patterns or crisis indicators (custom tool integration)
- 📧 Patient Assignment - Request assignment to patients via email
- Framework: FastAPI (Python 3.13+)
- Database: SQLite with SQLAlchemy (async)
- AI Integration: Backboard SDK
- Authentication: JWT (PyJWT) with OAuth2
- Password Hashing: Argon2 (pwdlib)
- Framework: Next.js 15 (App Router)
- UI Components: Radix UI primitives
- Styling: Tailwind CSS
- Forms: React Hook Form with Zod validation
- Icons: Lucide React
- Python 3.13 or higher
- Node.js 18 or higher
- npm, yarn, pnpm, or bun
-
Navigate to the backend directory:
cd backend -
Create a virtual environment and install dependencies:
# Using uv uv sync -
Set up environment variables:
# Create a .env file in the backend directory echo "BACKBOARD_API_KEY=your_api_key_here" > .env
-
Run the development server:
uv run uvicorn api.main:app --reload
The API will be available at
http://localhost:8000
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Set up environment variables (optional):
# Create a .env.local file echo "NEXT_PUBLIC_API_URL=http://127.0.0.1:8000" > .env.local
-
Run the development server:
npm run dev
Open http://localhost:3000 in your browser.
- Find a solution to uploading RAG documents for each user individually
- Fix the bug where threads/assistants get created for therapist accounts
This project is under the GNU AFFERO GENERAL PUBLIC LICENSE.
Please open an issue.
Made with ❤️ for mental wellness