Technical decisions, architecture choices, and what I'd do differently.
Social learning platform — document-to-question-bank pipeline, adaptive spaced repetition, LLM router with provider fallback, and collaborative sharing via Supabase RLS.
Password-protected client portal — live service status dashboard, Stripe Customer Portal billing, and a terminal-style authentication experience built on Next.js 16 and Vercel.