MCAT Prep App — Adaptive Study Platform
Overview
MCAT Prep App is a full-stack adaptive learning platform designed for pre-med students preparing for the MCAT. The app delivers mastery through active recall and error-driven reinforcement — not just passive content review.
The platform features a massive pre-generated question bank of 3,790 MCAT-style questions spanning all 7 KAPLAN review books across 75 chapters. An adaptive learning algorithm tracks concept-level performance and reinforces weak areas by serving different questions on the same concept when a student answers incorrectly.
Architecture
Frontend: React 19 + Vite
- Single-page application with Supabase JS SDK for direct database access
- Authentication via Supabase Auth (email/password, no email confirmation required)
- Interactive quiz interface with immediate feedback and detailed explanations
- Hierarchical progress dashboard (Book → Chapter → Concept) with color-coded mastery bars
Backend: Python FastAPI + Supabase PostgreSQL
- EPUB parsing pipeline (ebooklib + BeautifulSoup4) to extract content from 7 KAPLAN review books
- LLM-based question generation using Google Gemini for batch creation during development
- Database seeding scripts for populating books, chapters, and questions from JSON files
- Row-Level Security (RLS) policies ensuring users can only access their own progress
Technical Details
Framework/Stack: React, Vite, FastAPI, Python, Supabase
Database: Supabase PostgreSQL with RLS policies
Auth: Supabase Auth (sign up / sign in, JWT-based)
AI: Google Generative AI (Gemini 2.5 Flash) for question generation
Deployment: Vercel (frontend), Supabase cloud (database + auth)
Tools Used:
- Claude Code for development
- Supabase for backend infrastructure
- Vite for fast frontend builds
Source Code
Key Features
| Feature | Description |
|---|---|
| 3,790-Question Bank | Pre-generated MCAT-style questions across 7 subjects and 75 chapters |
| Adaptive Learning | Incorrect answers trigger different questions on the same concept until mastery |
| EPUB Content Parsing | Extracts and organizes content from KAPLAN MCAT review books |
| Two Quiz Modes | Chapter Quiz (single chapter) and Book Quiz (comprehensive) with 20 questions per session |
| Progress Dashboard | Hierarchical tracking at Book, Chapter, and Concept levels with mastery percentages |
| Concept Tagging | Every question is tagged with specific concepts for granular performance tracking |
| Immediate Feedback | Correct/incorrect feedback with detailed explanations after each answer |
| Multi-User Support | Isolated progress tracking per user with Supabase RLS policies |
Subject Coverage
| Subject | Chapters | Questions |
|---|---|---|
| Biology | 12 | 600 |
| Physics & Math | 12 | 630 |
| Behavioral Sciences | 12 | 600 |
| Biochemistry | 10 | 500 |
| General Chemistry | 10 | 510 |
| Organic Chemistry | 10 | 500 |
| Critical Analysis & Reasoning | 9 | 450 |
How It Works
- Sign Up & Start — Create an account and immediately begin studying with no email confirmation required.
- Select a Subject — Browse the 7 MCAT subjects and choose a chapter or full book quiz.
- Adaptive Quizzing — Answer 20 randomly sampled questions per session. Correct answers retire the question; incorrect answers pull in a new question on the same concept.
- Review & Learn — After each answer, see a detailed explanation covering why the correct answer is right and why distractors are wrong.
- Track Mastery — The progress dashboard shows color-coded mastery bars at every level, highlighting exactly where to focus next.