Project case studies
Storycraft — Markdown storyboard → SCORM 1.2 package
Why I built it, the design decisions worth flagging, what it doesn't do — and the live web playground that lets recruiters try it without installing anything.
Cutting SCORM packaging from 4 hours to 10 minutes
The post-publish CLI behind the Kidvento pipeline. The interesting part is the class of silent bugs the manual step had been hiding — surfaced as soon as the script ran end-to-end.
Adaptive bitrate video inside a SCORM package, without a CDN
How to ship watchable video to bandwidth-constrained school networks without adding a CDN or any LMS configuration. The constraint set forced a simpler design than I'd have arrived at otherwise.
The mid-interaction freeze — a duplicate cmi.interactions.N.id story
Two days to find, ten minutes to fix. A spec-compliant LMS plus a spec-compliant authoring tool plus custom glue code produced a bug none of them owned.
From one freeze bug to an eight-command SCORM toolchain
How the duplicate-interaction diagnosis turned into a build-time auditor, which turned into scorm-kit: lint, a11y, diff, i18n, mock, RUM. The cut list — and why the other ten ideas didn't make it.
Essays & design writing
Localising eLearning into six Indian languages
What I got wrong first — and eight hard-won rules about translation files, text expansion, register, RTL, and what AI-assisted localisation actually handles in 2026.
Action Mapping in practice
The three questions that replace "what should the course cover" — and why the method is mostly a negotiating posture, not a framework to diagram.
Working with subject-matter experts
The patterns that come up every time: experts who over-value edge cases, scenarios rejected as "unrealistic," and the single question that ends both problems at once.