Instructional Designer and Learning Engineer
I design learning that changes behaviour, and build the tools that ship it.
Eight years in eLearning, inside an eleven-year career that started in animation. I lead the SCORM team at Kidvento (eight people), have shipped 100+ K-12 modules, and localize into six languages from one master. I work remotely with teams anywhere.

100+
K-12 modules shipped
8
people on my team
6
languages, one master
8 yrs
in eLearning
Selected work
Design decisions, start to finish
Three problems, each shown as the whole arc: the learning problem, the design call I made, and what changed. Plain language first, the full write-up one click away.
Compliance training nobody learned from
Instructional designThe problem
A mandatory compliance course was policy text and a quiz. People clicked through, passed, and changed nothing. The brief was "cover the policy," which is not a learning goal.
The design
I ran Cathy Moore's Action Mapping with the SME: start from the decisions people get wrong on the job, then cut every screen that was not changing one of them. What was left became branching scenarios where people practise the call.
The result
Practice, not slides
The course teaches judgement instead of policy recall. The same Action Mapping pass now seeds our compliance and POSH builds.
Video lessons that died on school internet
Design and engineeringThe problem
A computer lab of 40 students sharing one weak line. Video buffered to a stop or never loaded, and compressing it harder turned the on-screen text to mush. Either way the learner lost the lesson.
The design
I treated bandwidth as an accessibility constraint, not an IT problem. The packager transcodes every video to three tiers and a probe picks the right one at launch, so the lesson degrades gracefully instead of breaking.
The result
Plays on almost any line
It adapts the way streaming does, on any SCORM 1.2 LMS, with nothing for schools to install or configure.
A four-hour publishing chore on every lesson
Pipeline and toolingThe problem
Every finished lesson needed about four hours of manual prep before a student could open it. Tired hands missed steps, and a broken course would surface in a classroom two weeks later.
The design
I mapped the failure points, then automated the whole post-publish pass: SCORM scoring, report injection, completion flagging, and delivery, with checks that catch what a person at 6pm does not.
The result
4 hours, to 10 minutes
The team got back close to a day a week, and broken courses stopped reaching classrooms.
The craft
I storyboard before I build
Every module starts on paper, not in Storyline. The storyboard is where the teaching decisions get made and argued, before a single screen is built. It is also where I align the SME, the visual designer, and the developer on one plan.
At Learning Owl I replaced manual asset handoff with an Illustrator to Storyline workflow built off the storyboard.
Visual revision rounds went from three, to one.How I think
Most training fails before a single slide is built, by answering "what should we cover?" instead of "what should people do differently?"
Begin with behaviour
If the honest answer to "what changes?" is nothing, I say so, and suggest what would actually help.
Practise, do not present
A scenario that mirrors a real decision beats a slide full of facts. People remember what they practised.
Experts as partners
The SME knows the content. My job is asking the questions that surface what a learner actually needs.
Design for everyone
Slow networks, screen readers, keyboard-only, six languages from one master. Anything less is half a lesson.
The differentiator
Six languages, from one master file
Localization is where most eLearning quietly breaks, and where I have spent years. Translated scripts run longer than the English source, so narration and animation fall out of sync. Numerals, registers, and reading direction all shift. The fix is design, not find-and-replace.
I have run full multilingual delivery across six Indian languages, managing translator handoff, audio re-sync, and per-language QA, then built a Flask tool that moves quiz text between storyboard, Storyline, and translation docs so the same edit does not get retyped six times.
- Re-syncNarration and animation timed back to each translated script, not the English original.
- RegisterThe formality and tone a learner expects, language by language, not a literal translation.
- One edit, onceA Flask tool parses Storyline XML so a quiz edit moves between storyboard, Storyline, and translation docs without retyping.
- QA per languageEvery variant verified for tracking, layout, and accessibility before it ships.
How I work in 2026
AI in the pipeline, not in the credits
I treat AI as production capacity, not a novelty. It drafts and accelerates; I direct and verify. The judgement about what a learner needs stays human. It is part of why an eight-person team ships at the volume we do without the quality slipping.
- VideoHeyGen for multilingual video in Hindi and French, without re-recording on camera.
- NarrationElevenLabs for audio narration across language variants.
- ToolingSmall AI-assisted scripts that remove the dull, error-prone steps from publishing.
- ResearchNotebookLM to compress source material before a build starts.
The engineering edge
An instructional designer who ships his own tools
Here is the "why now": more eLearning content is AI-generated now, and build-time checks have not kept up with it. So I built the checks I was missing.
scorm-kit
One CLI, eight subcommands
Catches the silent failures Storyline's publish step misses: duplicate interaction IDs, manifest drift, broken asset refs, WCAG violations. CI-ready exit codes, zero dependencies, 27 of 27 tests passing.
View on GitHubxapi-doctor
25-rule xAPI linter
Validates xAPI 1.0.3 statements and cmi5 profiles, pings live LRS endpoints, and turns spec violations into plain English. 17 of 17 tests passing, zero dependencies.
View on GitHubStorycraft
Compliance modules without a developer
Write a lesson as a Markdown storyboard, get a deterministic SCORM package out. Same input, byte-identical output. Built for compliance and localized variants where full authoring is overkill.
Read the caseExperience
Eleven years, from craft to lead
KidventoLearning Engineer and SCORM Team Lead. Leading eight people, 100+ K-12 modules shipped.
Learning OwlInstructional Designer and eLearning Lead. Compliance, POSH, induction, and soft-skills courses, SME to LMS.
Learning LozixeLearning Developer. 300+ activities for the Balbharati K-12 curriculum, six-language localization.
LionbridgeLocalization Integrator. Adapted global eLearning for Indian and Southeast Asian markets.
FreelanceContent, scripting, and animation. The visual foundation the later work is built on.
If a course is slow to ship, breaking in odd ways, or changing nothing, we should talk.
Open to remote instructional-design and learning-engineering roles, anywhere.