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.
Made with ❤️ for mental wellness