Corporate LMS / Talent-Management SPA (Vue 3, TypeScript)

Enterprise Learning & Performance-Management Platform

Lead contributor on a Vue 3 corporate LMS — built a course-authoring tool and a SCORM player + publisher from scratch.

Vue 3TypeScriptPiniaSCORMFrontend Architecture
#1 / 30+
contributor by commits (1,526 commits)
+115k
net lines across 3,439 file-changes
400+
bugs resolved across the codebase

The problem

A large corporate Learning Management + Performance system needed deep, sustained frontend ownership across nearly every module — from authoring courses and packaging SCORM e-learning to data import, scheduling, auth, and analytics — while staying maintainable across a 30+ engineer team.

The approach

  • Architected a drag-and-drop course-authoring tool with 19+ content/question section types and content-JSON persistence, plus a custom content-editable rich-text table with a floating formatting toolbar.
  • Built a SCORM player (sandboxed iframe, zip parsing, viewer) and a SCORM-2004 package publisher entirely from scratch — no vendor runtime.
  • Engineered a multi-step CSV data-import pipeline (sample-grid column mapping with reusable templates, alias resolution, validation gating) and implemented auth/MFA, forced password reset, and user impersonation.
  • Worked within a domain-sliced Pinia store architecture (~40 stores) and a centralized HTTP wrapper with 401/402 auto-logout and abortable requests.

The outcome

  • Sustained #1-of-30+ contribution (1,526 commits, +115k net lines) over ~22 months, spanning the flagship course builder, SCORM, import, calendar, and auth modules.
  • Drove performance fixes — consolidated redundant watchers to eliminate duplicate API calls, added request cancellation for low-bandwidth scenarios.
  • Maintained and extended code authored by other engineers across the app, resolving 400+ bugs — a trusted, codebase-wide owner, not just a feature siloer.
  • Integrated FullStory and Userpilot for analytics and onboarding, with identity set/teardown on login/logout.