WebApps Portal — Immersive Learning Suite

Built a gamified portfolio of OSI, cybersecurity, and pitching sims that teachers can clone, theme, and deploy in hours.

Role: Lead full-stack engineerTimeframe: 6-week consolidation sprintStack: Next.js • React • Tailwind • Supabase • n8n • Framer Motion
Next.jsReactTailwindn8nGamificationAnalyticsAccessibilityCMS
WebApps Portal — Immersive Learning Suite
Module launch time
2 days → 4 hrs
Avg. session length
+42%
Bug rate
-70%

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.

Threats

  • 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.

Approach

  1. Refactored everything into a Next.js monorepo with shared design tokens, layout primitives, and motion choreography that matched the neon portfolio aesthetic.
  2. Built simulation engines (drag-and-drop OSI, scenario cards, pitch timers) as headless React hooks so they can power future modules.
  3. Persisted progress + leaderboards through Supabase, exposing sanitized APIs for instructors to export cohort insights.
  4. Added feature flags + theme packs so instructors spin up new flows per class without cloning code.
  5. Integrated n8n workflows for onboarding, badge issuance, and follow-up emails with scoped API keys stored in Doppler.
  6. Layered analytics using PostHog events + Vercel Web Analytics to surface friction points (drop-off questions, time per puzzle).
  7. Shipped accessibility sweeps: semantic controls, reduced-motion variants, audio transcripts, and color contrast utilities to keep gamification inclusive.

Outcome

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.

Lessons Learned

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.