Live
Auth — Sign up / Sign in / Sign outSupabase email auth · Email confirmation disabled · requireAuth() guard on all module pages
Live
Pretest — 10-question placement testScores 0–3 → Beginner · 4–6 → Medium · 7–10 → Advanced · Hard gate: teachers must complete before dashboard · sessionStorage + localStorage + Supabase triple-save
Live
Dashboard — Learner HubAI Foundations always visible · User's track unlocked after pretest · Other tracks grayed · Coming Soon state for unbuilt modules · Confetti on completion · "Did You Know" fact bar
Live
Progress TrackingmarkModuleComplete() saves to Supabase + localStorage (fallback) · slug-based getCompletedSlugs() merges both · Dashboard checks BUILT_MODULES set
Live
AI Sandbox (Mission 3)Gemini 2.5 Flash via Supabase Edge Function · 4096 token limit · System prompt with educator guardrails · Copy / Print / Clear buttons · 4 COSTAR starter chips
Live
Admin Panelsuper_admin: all users + district breakdown + CSV export · district_admin: own district only · teacher/student: redirected
Live
Accordion + Smart TOC (all modules)Sections collapse/expand via h2 click · First section open by default · TOC dots → numbered circles · IntersectionObserver: sky = active, green = completed
Live
Premium BrandingNavy gradient + dot texture + sky radial glow on all module headers · Heroicons SVG library (js/icons.js) · Confetti animation
Next
Photos — Landing page + module accentsDALL-E 3 generated · hero-educators.png + classroom-ai.png · In progress
Next
Beginner Track Modules (beg1–beg3)Currently show "Coming Soon" on dashboard
Planned
Custom DomainMichael will provide — update Netlify domain settings
Planned
Supabase modules table — update cc2 titleSlug cc2-ai-landscape title still shows "The AI Landscape" — update to "AI in Your Classroom: Starting Monday" in Supabase Table Editor