Aura — AI-powered study planning for JEE aspirants
Turn your exam goal, syllabus, and real progress into a calm, repeatable daily routine.
Aura generates a personalised daily study plan grounded in your onboarding data, syllabus coverage, topic progress, confidence levels, and past mistakes. Instead of generic schedules, each day is built from evidence — study sessions, revision slots, and tests appear only when data supports them.
- AI-generated daily plans — Gemini ranks topics by urgency and builds a study/revision/test mix that fits your available time.
- Onboarding-driven context — Exam year, attempt number, coaching hours, school hours, daily study time, rank aim, and weakest subject shape every plan.
- Streak tracking — Timezone-aware streak system that rewards consistent effort.
- Test deadlines & results — Track upcoming tests, record results (percentage or fraction), and see your progress over time.
- End-of-day reflection — Quick mood and difficulty feedback that informs tomorrow's plan.
- Wellness-aware planning — Load balancing and cognitive pacing prevent burnout.
- Dark mode — Full theme support via
next-themes.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, React 19, React Compiler) |
| API | tRPC v11 with TanStack Query |
| Database | PostgreSQL via Neon |
| ORM | Prisma 7 with @prisma/adapter-pg |
| Auth | Better Auth (Google OAuth) |
| AI | Vercel AI SDK + Google Gemini |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Validation | Zod |
- Node.js ≥ 20
- npm (or pnpm/yarn)
- A Neon (or any PostgreSQL) database
- Google Cloud OAuth credentials (console.cloud.google.com)
- Google AI API key (aistudio.google.com)
- Sarvam AI API key
git clone https://github.com/<your-org>/project-aura.git
cd project-aura
npm installcp .env.example .envOpen .env and fill in your credentials. See .env.example for descriptions of each variable.
# Generate the Prisma client
npm run db:generate
# Run migrations
npx prisma migrate deploy
# Seed the syllabus data (chapters & topics)
npm run db:seednpm run devOpen http://localhost:3000 to get started.
src/
├── app/ # Next.js App Router
│ ├── (main)/dashboard/ # Authenticated dashboard
│ ├── onboarding/ # First-time user setup
│ ├── api/ # tRPC + Auth API routes
│ ├── error.tsx # Global error boundary
│ ├── not-found.tsx # Custom 404 page
│ └── page.tsx # Landing page
├── components/
│ ├── ui/ # shadcn/ui primitives
│ ├── ai-elements/ # AI chat components
│ └── providers/ # Theme, tRPC, etc.
├── features/
│ ├── dashboard/ # Dashboard, planner, stats cards
│ └── onboarding/ # Onboarding flow
├── trpc/
│ ├── routers/ # tRPC routers (planner, onboarding)
│ ├── client.tsx # Client-side tRPC setup
│ └── server.tsx # Server-side tRPC + prefetching
├── lib/ # Auth, Prisma, AI, utilities
└── utils/ # Planner algorithms, auth helpers
prisma/
├── schema.prisma # Database schema
├── migrations/ # Migration history
└── seed.ts # Syllabus seed data
| Command | Description |
|---|---|
npm run dev |
Start the development server |
npm run build |
Create a production build |
npm run start |
Start the production server |
npm run lint |
Run ESLint |
npm run db:seed |
Seed the database with syllabus data |
The easiest deployment target is Vercel:
- Push the repo to GitHub.
- Import the project in Vercel.
- Add all environment variables from
.env.examplein the Vercel dashboard. - Vercel will detect Next.js and deploy automatically.
Note: Set
BETTER_AUTH_URLto your production domain (e.g.https://aura.example.com).
MIT