Learning Management System
Learner portal: courses, grades, assignments, calendar, watermarked media; Gatsby/WordPress to Directus on AWS, Cloudflare, Swarmify.
What was my role?
As Lead Fullstack Engineer I carried the product from design through backend and frontend implementation—information architecture for the learner dashboard, integration with headless content and auth, and the hosting and delivery story—while I was still the primary owner of the architecture.
As more engineers joined, I stayed hands-on on the highest-risk surfaces (content APIs, media protection, and the auth migration) while shifting day-to-day build-out across the team.
Situation
The program needed a single learner-facing hub: access to resources, visibility into grades, course materials and assignments, and planned events on a calendar—without leaking paid video and documents.
The first stack paired Gatsby with headless WordPress, but builds and fetches were painfully slow; articles and assignments felt unreliable, and learning administrators struggled to keep pace in the CMS.
Task
Ship a fast, trustworthy learning dashboard with protected media (watermarking), dependable email and static hosting, smooth video playback, and authentication that could eventually align with enterprise SSO.
Action
Implemented the learner experience end-to-end: dashboard entry points into courses, catalog discovery, assignments, grades, resources, calendar, announcements, forums, help, and settings—wired to the content APIs and access rules.
Replaced the slow Gatsby/WordPress integration with Directus for faster reads and a clearer operational model for admins; kept the frontend on static delivery (S3) with Cloudflare at the edge, AWS SES for mail, and Swarmify for video.
Stood up Amazon Cognito first, then executed the migration to an alternative SSO provider so identity matched organizational standards without rewriting the whole app.
Result
Performance and admin workflows improved materially after the Directus cutover; learners saw snappier course and assignment loads instead of waiting on the old pipeline.
The platform reached sustained adoption with over 5,000 active learners using the portal in production.