- ProblemBuilt a gamified portfolio of OSI, cybersecurity, and pitching sims that teachers can clone, theme, and deploy in hours.
- RoleLead full-stack engineer
- Timeframe6-week consolidation sprint
- StackNext.js • React • Tailwind • Supabase
- FocusNext.js • React • Tailwind
- ImpactModule launch time: 2 days → 4 hrs
Problem
Built a gamified portfolio of OSI, cybersecurity, and pitching sims that teachers can clone, theme, and deploy in hours.
Context
S — A vocational program ran separate mini-apps (Cyber Defenders, OSI Adventure, Pitch Studio) with inconsistent branding and zero shared analytics. Instructors spent days duplicating content for each cohort. T — Consolidate the experiences into a single portal with reusable engines, live telemetry, and non-technical authoring tools so instructors can ship new scenarios overnight.
Gamified learning portal built on Next.js + Supabase
Reusable simulation engines let instructors launch modules quickly.
Centralized analytics reveal engagement and drop-off points.
Accessible, themeable learning apps for rapid curriculum rollout
Design tokens and theme packs keep UX consistent across modules.
Automations handle onboarding and badge issuance.
Architecture
- Refactored everything into a Next.js monorepo with shared design tokens, layout primitives, and motion choreography that matched the neon portfolio aesthetic.
- Built simulation engines (drag-and-drop OSI, scenario cards, pitch timers) as headless React hooks so they can power future modules.
- Persisted progress + leaderboards through Supabase, exposing sanitized APIs for instructors to export cohort insights.
- Added feature flags + theme packs so instructors spin up new flows per class without cloning code.
- Integrated n8n workflows for onboarding, badge issuance, and follow-up emails with scoped API keys stored in Doppler.
- Layered analytics using PostHog events + Vercel Web Analytics to surface friction points (drop-off questions, time per puzzle).
- Shipped accessibility sweeps: semantic controls, reduced-motion variants, audio transcripts, and color contrast utilities to keep gamification inclusive.
Security / Threat Model
- Legacy pages mixed vanilla JS and jQuery, making accessibility fixes painful.
- No centralized auth or persistence, so progress could not travel across modules.
- Course authors lacked a safe way to tweak copy or scoring logic.
- n8n automations for onboarding stored secrets in plaintext.
Tradeoffs & Lessons
Gamified education still needs boring fundamentals: design systems, telemetry, and safe automation. By treating each mini-app like a microservice inside a monorepo, we gained velocity without sacrificing whimsy.
Results
Instructors now assemble new learning paths in hours, not days. Learner dwell time rose 42%, completion jumped 28%, and bug reports fell by 70% because modules share the same hardened components. The portal became the flagship asset shown to partner schools when negotiating new curricula.
Stack
FAQ
How are new modules created fast?
Reusable hooks and theme packs replace per-module rebuilds.
How is engagement measured?
PostHog events and analytics dashboards track learning friction.
What outcomes were achieved?
Module launch time dropped and session length increased.
