Self-hosted course authoring
Build courses,
block by block.
SCORM Blocks turns small, reusable content blocks into responsive, accessible lessons, then packages them straight for Canvas, SCORM, or the open web. No code. No cloud lock-in. Your content stays yours.
- Accessible by construction
- Own your data
- One-command self-host
The workflow
Assemble. Preview. Publish.
One source of truth goes out to every learner, on every device, through every LMS.
-
1
Assemble blocks
Stack a lesson from typed blocks on a direct-manipulation canvas. Edit in place, drag to reorder, convert one block into another in a click.
-
2
Preview as a learner
Flip from Edit to Preview and check Desktop, Tablet, and Phone. What you build is exactly what learners get, responsive by default.
-
3
Publish anywhere
Send the same course to Canvas, export a SCORM package for any LMS, or ship a self-contained web bundle. An accessibility gate runs first.
Drop in any block, from a photo to a graded quiz, in a click.
Rapid authoring
Illustrate a lesson without leaving the editor
The media library searches stock photo sites like Unsplash and Pexels from inside the editor, so a licensed image drops into a block in seconds. Your API keys stay on the server, every search runs from your own instance, and the images land in your own library.
- Stock photo search across Unsplash and Pexels
- API keys stay server-side, on your instance
- Alt text and in-use tracking on every asset
- Templates and saved blocks carry the speed to the rest of the lesson
Accessible by construction
Every block ships its accessibility with it.
Keyboard model, ARIA semantics, and contrast are built into each block, not bolted on afterward. A live checker flags issues while you author, and the publisher refuses to ship a package that fails.
- Automated WCAG 2.1 AA gate at publish time
- In-editor Accessibility assistant with jump-to-fix
- Alt text, captions, and transcripts tracked per asset
- Readable text auto-picked for any brand accent color
One source, every destination
Publish it the way your LMS expects
Standards are an export target, not the center of gravity. The same course goes out clean to whichever runtime you need.
Own your data
Runs on hardware you control.
SCORM Blocks stands up with a single compose file: the app and its database, one origin, persistent volumes, healthchecks, non-root containers. Course content is portable open-schema JSON. Nothing about your learners leaves your instance.
- One-command
docker composedeploy - Analytics land in your own store, never a vendor's
- Portable JSON in, clean exports out
- No third-party course runtime underneath
No AI content generation. Not the questions, not the copy, not the media. Acceleration comes from templates, saved blocks, and sensible defaults. You write the words and you own them.
Insights
See where learners struggle
A built-in learning record store feeds dashboards for completion, question difficulty, and per-learner drill-down, computed in your own database.
Completion funnel
Question difficulty
flagged below 50% correct
Ready to launch your course?
Play with every block in the browser and see how a lesson comes together. Beginners are welcome, sensible defaults do the heavy lifting.