Skip to main content

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

AIEducationStudyStudent
Progress80%

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

LayerChoices
FrontendReact 18 + TypeScript, Tailwind CSS, Radix UI, Framer Motion, Recharts, React Query, Wouter
BackendNode.js + Express + TypeScript
DatabasePostgreSQL on Neon (serverless), Drizzle ORM
AI / MLOpenAI GPT-5, LangChain + LangChain Community, vector search (Pinecone-compatible)
AuthSession-based (express-session + Passport.js), Auth0 integration, JWT for API access
PaymentsStripe Checkout, Stripe Billing Portal, Stripe webhooks
EmailSendGrid — reminders, achievement notifications, weekly reports
Real-timeWebSockets (ws) for live notifications and chat streaming
BuildVite, 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
StudyBuddy | Patrick Jaritz