All work
Tools, software & programs

SCORM-to-PDF Extractor

A small CLI tool I built to take a SCORM package and produce a clean, paginated PDF of every screen. Useful for reviewers, regulators, and anyone who needs a static record of an interactive course without launching the SCORM player. Handles JS-rendered pages, click-to-reveal interactions, and auto-advance timing.

Node.jsPuppeteerTypeScript
Outcomes
<60s
200-page deck processed
100%
Page coverage incl. JS
30+
Courses extracted

Reviewers don’t want to launch a SCORM package. Regulators definitely don’t want to launch a SCORM package. They want a PDF. I built this tool because I needed it on a Tuesday afternoon and writing it took less time than explaining to someone else why I needed it.

What I built

The tool unpacks a SCORM zip, walks the manifest to find every page, renders each page in headless Chromium with the right viewport and the right wait conditions, and stitches the results into a single paginated PDF. There’s a small DSL for handling annoyances: pages that need an interaction to reveal content, pages that auto-advance, pages that need cookies set, pages that lazy-load images.

What it improved

It exists because a 200-page interactive course used to take half a day to walk through manually for review purposes, screen by screen, snapping screenshots. The tool runs the same job in under a minute, with 100% page coverage including the JavaScript-rendered content that a casual screenshot tool would miss. The reviewer gets a clean, paginated PDF they can mark up. The regulator gets the static record they actually wanted. Nobody has to launch a SCORM player.

The tool is now a quiet workhorse on every audit and external review I run.