AI-powered mood tracking through email analysis
Features · Quick Start · Database Setup · Development · Deployment
- 📧 Email Integration: Analyze mood from email content using n8n workflows
- 📊 Advanced Mood Tracking: Track mood, energy, and stress levels over time with rich analytics
- 🤖 AI Insights: Get AI-powered insights, personalized recommendations, and pattern analysis
- 📈 Multi-Tab Analytics Dashboard: Comprehensive visualization with Overview, Trends, and Insights tabs
- 📅 Mood Heatmap: GitHub-style calendar view showing 12 weeks of mood patterns
- 📊 Rich Visualizations: Interactive charts, distribution analysis, and trend tracking
- 🔐 Secure Authentication: User authentication with Supabase Auth
- 🎨 Modern UI: Built with Next.js, Tailwind CSS, and shadcn/ui components
- 🗄️ Robust Database: PostgreSQL with Supabase for data management
- 🚀 Local Development: Full local development setup with Supabase CLI
Get up and running in 5 minutes:
# 1. Start Supabase services
npm run db:start
# 2. Set up environment variables
cp .env.local.example .env.local
# 3. Start the development server
npm run dev
📖 Detailed instructions: See SUPABASE_QUICKSTART.md
InboxInsights uses Supabase for database management with a complete local development setup.
- mood_entries table: Stores mood tracking data with constraints and indexes
- Row Level Security: Users can only access their own data
- Sample data: 11+ realistic mood entries for testing
- Migrations: Version-controlled database schema
- Users:
maxime.l.beaudoin@gmail.com
,demo.user@example.com
- Data variety: Mood scores (1-10), energy levels, stress levels
- Time range: Entries spanning 20+ days
- Realistic content: Email-style original text and notes
npm run db:start # Start Supabase services
npm run db:status # Check service status
npm run db:reset # Reset with fresh seed data
npm run db:stop # Stop all services
📖 Full database documentation: See supabase/README.md
- Node.js 18+ and npm
- Docker (for Supabase local development)
- Supabase CLI (automatically installed)
-
Clone the repository
git clone https://github.com/maximebeaudoin/inboxinsights.git cd inboxinsights
-
Install dependencies
npm install
-
Start Supabase services
npm run db:start
-
Set up environment variables
cp .env.local.example .env.local # No changes needed for local development!
-
Start the development server
npm run dev
-
Access the application
- App: http://localhost:3000
- Supabase Studio: http://127.0.0.1:54323
- API: http://127.0.0.1:54321
# Development
npm run dev # Start Next.js dev server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run format # Format code with Prettier
# Database
npm run db:start # Start Supabase services
npm run db:stop # Stop Supabase services
npm run db:status # Check service status
npm run db:reset # Reset database with seed data
npm run db:migrate # Apply migrations only
-
Create a Supabase project
- Visit database.new
- Create a new project
-
Link your local project
supabase link --project-ref your-project-ref
-
Deploy migrations
supabase db push
-
Deploy to Vercel
- Connect your GitHub repository to Vercel
- Add environment variables from your Supabase project
- Deploy!
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
inboxinsights/
├── app/ # Next.js App Router
├── components/ # React components
├── lib/ # Utilities and configurations
├── supabase/ # Database setup
│ ├── migrations/ # Database migrations
│ ├── seed.sql # Sample data
│ ├── database-utils.ts # Database utilities
│ └── README.md # Database documentation
├── SUPABASE_QUICKSTART.md # Quick start guide
└── README.md # This file
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.