Your Personal Mind OS - AI-powered journaling and mental wellness platform
Calmlytic is a modern, AI-powered journaling platform that helps users understand their mental wellness patterns through intelligent insights, voice journaling, vision boards, and therapeutic assessments.
- π AI-Powered Journaling - Get insights and pattern recognition from your entries
- π€ Voice Journaling - Speak your thoughts and let AI transcribe and analyze
- π― Vision Boards - Create visual goal boards with drag-and-drop editor
- π Mental Health Assessments - Track your wellness with clinical assessments
- π Privacy First - Your data is encrypted and private
- π± PWA Support - Install as an app, works offline
- π Dark Mode - Beautiful UI with theme support
- Node.js 18+ and npm
- A Supabase account (free tier works)
- (Optional) Google Gemini API key for AI features
- (Optional) OpenAI API key for voice features
-
Clone the repository
git clone https://github.com/Dev-Adnani/calmlytic.git cd calmlytic -
Install dependencies
npm install
-
Set up environment variables
cp env.example .env.local
Edit
.env.localand add your Supabase credentials:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key
-
Set up Supabase
- Create a new project at supabase.com
- Run the database migrations (see Database Setup)
- Enable Google OAuth in Supabase Auth settings (optional)
-
Run the development server
npm run dev
Comprehensive documentation is available in the docs/ directory:
- Getting Started - Technical overview and features
- Database Schema - Complete database schema, tables, and RLS policies
- Authentication - Auth system setup and configuration
- Supabase Setup - Database migrations and schema export
- Install Supabase CLI:
npm install -g supabase - Login:
supabase login - Link your project:
supabase link --project-ref your-project-ref - Push migrations:
supabase db push
If you have an existing Supabase database:
# Run the export script
./supabase/export-schema.sh
# Or manually
supabase db pullThis will export all tables, RLS policies, triggers, and functions to supabase/migrations/.
See supabase/README.md for detailed instructions.
See the Database Documentation for SQL migration scripts.
- Framework: Next.js 15 (App Router)
- Database: Supabase (PostgreSQL)
- Auth: Supabase Auth
- Styling: Tailwind CSS + Shadcn UI
- State: Zustand
- AI: Google Gemini / OpenAI
- Language: TypeScript
calmlytic/
βββ src/
β βββ app/ # Next.js pages and API routes
β βββ components/ # React components
β βββ lib/ # Utilities and helpers
β βββ hooks/ # Custom React hooks
β βββ store/ # Zustand state management
β βββ types/ # TypeScript types
βββ docs/ # Documentation
βββ public/ # Static assets
βββ env.example # Environment variables template
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run linternpm run format- Format code
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- π Documentation
- π Report a Bug
- π‘ Request a Feature
- π¬ Discussions
Made with β€οΈ for mental wellness