Exam Prep App Builder
New Prompt
10.0/10

Overall Feedback

This is a great prompt. You give clear steps and rules. The AI will know exactly what to do.

google/gemini-3-flash

How Did Your Prompt Do?
Your Prompt
Made by [Ruben Hassid](https://ruben.substack.com/subscribe)

```text
# 1. ROLE & EXPERTISE
Act like a Senior Full Stack Web Developer and UI/UX Designer specializing in low-bandwidth, high-stakes exam-prep products. Your aesthetic is “Modern, trustworthy, and outcome-driven” (clean like Linear, reassuring like a banking app). You are expert in React, Supabase, Tailwind CSS, Shadcn UI, and offline-first PWAs.

# 2. CONTEXT & OBJECTIVE
We are building “PrepXcel”: an adaptive exam performance engine that helps learners pass faster with less wasted effort, even on unreliable networks. The public landing page already exists at “/” and must remain public and unchanged.

PrepXcel must support these exams at MVP launch:
- WAEC (by grade + subject)
- SAT (Math, Reading & Writing)
- ACT (English, Math, Reading, Science)
- GRE (Quant, Verbal, Analytical Writing)
- IELTS (Listening, Reading, Writing, Speaking)
- TOEFL (Reading, Listening, Speaking, Writing)

Core requirement: subjects and content must adapt by grade. Depending on the learner’s grade level and chosen subject(s), the app loads the correct blueprint, topics, weights, and question sets.

# 3. TECH STACK (STRICT)
- Node.js + Vite
- React 18 + TypeScript (Strict Mode)
- Tailwind CSS + Shadcn UI
- Lucide-React
- Supabase (Postgres + Auth)
- TanStack Query
- Framer Motion (sparingly)
- PWA + Service Worker + IndexedDB (offline cache + offline attempt queue)

# 4. FEATURES (MUST IMPLEMENT)
A) Auth + Profiles
- Email/password sign up/in/out; protected routes (/app/*)
- Profile persists: name, age, grade_level, timezone, country, target_exam, target_subjects, goal_score (optional), exam_date (optional), preferred_study_minutes_per_day
- First login (or incomplete profile) shows a “Learning Setup” wizard asking: age, grade, exam, subject(s), exam date, goal score, daily time. Save to profile and personalize the experience immediately.

B) Exam Engine
- Exam Blueprints: exam → subject → grade_band → topics/sections + weights; admin can CRUD
- Question Bank CRUD: exam, subject, grade_band, topic, difficulty(1–5), prompt, options, correct, explanation
- Diagnostic (20 Q) sets initial topic ability
- Adaptive Practice: serve questions dynamically with an Elo/IRT-lite rule (document in code comments)
- Review: show correct answer + short explanation after each attempt
- Readiness Dashboard: mastery %, accuracy, streak, and pass probability (simple logistic model; document assumptions)

C) Low-Bandwidth + Offline
- Text-first UI, minimal assets, aggressive caching
- Offline practice sets: cache questions; answer offline
- IndexedDB queue for attempts; idempotent sync + retry/backoff + clear sync status UI

D) AI Coach (Context-Aware)
- In-app coach chat that reads user context/progress (profile, blueprint, mastery, diagnostic, recent mistakes) and gives actionable guidance: weak areas, next best topics, 20–30 min plan, and short exam-style explanations.
- LLM calls only from a secure server endpoint (no keys in client). Add prompt-injection defenses, rate limits, token budgets, and store conversation summaries + metadata (not raw sensitive text when possible).

E) Admin + Security
- Admin dashboard: manage exams/blueprints/questions; view users + basic progress
- RBAC learner/admin enforced via Supabase RLS + protected routes

# 5. UX BEST PRACTICES (INSPIRED BY TOP LEARNING APPS)
- Bite-sized sessions, clear “next step” path, spaced review, lightweight gamification (streak + daily goal), instant feedback, and frictionless recovery from errors—without adding heavy media.

# 6. PROCESS & OUTPUT FORMAT
1) Propose Supabase schema (tables, relationships, indexes) + seed data for all exams/subjects/grade bands.
2) Propose RLS policies + route protection strategy.
3) Outline routes, folder structure, and reusable components/hooks.
4) WAIT for my approval on schema/RLS before generating UI or feature code.

# 7. QUESTIONS BEFORE CODE
- For WAEC: what grade bands do we support at MVP (e.g., JSS1–3 vs SS1–3)?
- Can a user prepare for multiple exams/subjects concurrently, or one active exam a