StudyBuddy
AI-powered, adaptive exam-preparation platform and study companion that helps students master any subject through personalised learning, spaced repetition, and a GPT-5-backed tutoring system.
More screenshots
What it does
StudyBuddy turns passive study into an active, data-driven loop:
- Adaptive practice engine — questions automatically get harder or easier based on accuracy, confidence ratings, and time efficiency, keeping students in the optimal challenge zone.
- Spaced-repetition scheduler — a full SM-2 implementation tracks every question card, calculates the next review date, and surfaces cards at exactly the right moment to lock in long-term retention.
- AI tutor (RAG-based) — study materials (PDFs, notes) are chunked, embedded, and stored in a vector index. When a student asks a question, the tutor retrieves the most relevant passages and feeds them to GPT-5, so answers are grounded in the student's own uploaded content rather than generic internet knowledge.
- Five practice modes — Quick Drill, Spaced Review, Adaptive Practice, Timed Practice, and full Exam Simulation with realistic scoring and time pressure.
- Progress analytics — a real-time dashboard tracks accuracy trends, study streaks, subject-level mastery, readiness scores, and weak-area identification across rolling 30-day windows.
- Subscription tiers — Starter, Pro, and Elite plans with Stripe-managed billing, a self-service customer portal, and webhook-driven entitlement updates.
Tech stack
| Layer | Choices |
|---|---|
| Frontend | React 18 + TypeScript, Tailwind CSS, Radix UI, Framer Motion, Recharts, React Query, Wouter |
| Backend | Node.js + Express + TypeScript |
| Database | PostgreSQL on Neon (serverless), Drizzle ORM |
| AI / ML | OpenAI GPT-5, LangChain + LangChain Community, vector search (Pinecone-compatible) |
| Auth | Session-based (express-session + Passport.js), Auth0 integration, JWT for API access |
| Payments | Stripe Checkout, Stripe Billing Portal, Stripe webhooks |
| SendGrid — reminders, achievement notifications, weekly reports | |
| Real-time | WebSockets (ws) for live notifications and chat streaming |
| Build | Vite, ESLint, Prettier, Jest, React Testing Library |
Architecture highlights
Monorepo, single TypeScript project — /client, /server, and /shared share types and Zod schemas, eliminating an entire class of API contract bugs.
RAG tutor pipeline — uploaded files are parsed (PDF, text), split into chunks, embedded via OpenAI, and stored in a vector index keyed by exam context. At query time, LangChain retrieves the top-k relevant chunks and constructs a grounded prompt, so the tutor always cites the student's own material.
SM-2 spaced-repetition engine — a custom implementation tracks each question card's repetition count, easiness factor, lapse count, and next-due date. The session builder interleaves due SRS cards with fresh questions to maximise retention without overwhelming the student.
Adaptive difficulty feedback loop — every response is logged with correctness, confidence (1–5), and time taken. A background service analyses the rolling 30-day window and adjusts the difficulty band for the next session, surfacing weak objectives automatically.
Explanation cache — AI-generated explanations (key concepts, common mistakes, related topics) are cached with a 12-hour TTL, cutting repeated OpenAI calls and keeping costs predictable.
Graceful degradation — the app runs fully in development without an OpenAI key or a live database, returning semantically appropriate mock responses throughout.
Key numbers
- 50+ REST API endpoints
- 19 backend services
- 30+ client-side routes
- 180+ npm dependencies managed end-to-end in a strict TypeScript config