MCAT Prep App — Adaptive Study Platform

React
FastAPI
Supabase
Vite
Google Gemini
Published

February 10, 2025

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

  1. Sign Up & Start — Create an account and immediately begin studying with no email confirmation required.
  2. Select a Subject — Browse the 7 MCAT subjects and choose a chapter or full book quiz.
  3. 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.
  4. Review & Learn — After each answer, see a detailed explanation covering why the correct answer is right and why distractors are wrong.
  5. Track Mastery — The progress dashboard shows color-coded mastery bars at every level, highlighting exactly where to focus next.