Skip to content

Repository files navigation

🌱 Thryve — Grow Every Day

AI-powered all-in-one productivity app built with Next.js 14 + Supabase + Gemini AI.

Features

✅ To-dos · 🎯 Goals · 📝 Notes (stickers, voice, images) · 📄 Documents
📅 Calendar · 💭 Mood tracker · 🔥 Habits + streaks · ⏱️ Focus timer
🎨 Zen Space (drawing + bubble pop) · 🤖 AI assistant (works offline too)
🌙☀️ Dark/light mode · 🎨 5 themes · 🆘 Help centre


Quick start

# 1. Install
npm install

# 2. Set env vars
cp .env.example .env.local
# Fill in your Supabase keys (AI key is optional)

# 3. Run
npm run dev
# Open http://localhost:3000

Step 1 — Supabase setup

  1. Create free project at https://supabase.com
  2. Go to SQL Editor → New Query, paste supabase/schema.sql, click Run
  3. Go to Project Settings → API, copy:
    • Project URLNEXT_PUBLIC_SUPABASE_URL
    • anon public key → NEXT_PUBLIC_SUPABASE_ANON_KEY
  4. Optionally: Authentication → Settings → disable email confirmation for easier dev

Step 2 — Gemini AI (optional)

The app works without an API key using smart offline AI.
To enable full Gemini AI:

  1. Go to https://Gemini.com → API Keys → Create
  2. Add GEMINI_API_KEY=sk-ant-... to .env.local

Step 3 — Deploy to Vercel

npm install -g vercel
vercel

Or: push to GitHub → import at vercel.com → it auto-detects Next.js.

Add env vars in Vercel:
Project → Settings → Environment Variables → add all 3 keys → Redeploy

Update Supabase auth URL:
Supabase → Authentication → URL Configuration → set Site URL to your Vercel URL


Project structure

thryve/
├── app/
│   ├── (dashboard)/     # All protected pages
│   │   ├── dashboard/   # Home with stats
│   │   ├── todos/       # Tasks with edit
│   │   ├── goals/       # Goals + progress
│   │   ├── notes/       # Notes + stickers + voice + images
│   │   ├── documents/   # Rich text editor + templates
│   │   ├── calendar/    # Monthly calendar + events
│   │   ├── mood/        # Daily mood + energy log
│   │   ├── habits/      # Habits + 7-day grid + streaks
│   │   ├── focus/       # Pomodoro timer + ambient sound
│   │   ├── zen/         # Drawing canvas + bubble pop game
│   │   └── settings/    # Profile, themes, AI chat, Help
│   ├── auth/            # Login + signup
│   ├── api/ai/          # Gemini AI route with smart fallback
│   ├── layout.tsx
│   └── globals.css      # Full theme system
├── components/layout/
│   └── Sidebar.tsx      # Nav + AI panel + theme/mode toggle
├── lib/
│   ├── supabase.ts      # Browser client
│   └── supabase-server.ts
├── supabase/
│   └── schema.sql       # Full DB schema — run once in Supabase
├── middleware.ts         # Auth route protection
└── .env.example

AI — how it works

The AI works in two modes automatically:

Mode When Quality
Gemini AI Gemini_API_KEY is set and valid Full conversational AI
Smart fallback No key, or API error Rule-based responses across 15+ intent categories

The fallback covers: goals, habits, mood, focus, productivity, planning, sleep, motivation, and more — so the app always feels AI-powered.


Help / Support

Use the Help tab in Settings to send a message, or email directly:
📧 akankshachoubey2003@gmail.com


🌱 Thryve — grow intentionally, one day at a time.

About

AI-powered all-in-one productivity app

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages