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
0typed content blocks
0graded question types
0publish targets
2.1WCAG conformance

The workflow

Assemble. Preview. Publish.

One source of truth goes out to every learner, on every device, through every LMS.

  1. 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. 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. 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

Build once, publish anywhere: Canvas, any SCORM LMS, or the open web.

Own your data

Runs on hardware (or cloud!) 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 compose deploy
  • Analytics land in your own store, never a vendor's
  • Portable JSON in, clean exports out
  • No third-party course runtime underneath

Your materials, your talent. The questions, the copy, the media are yours. Acceleration comes from templates, saved blocks, and sensible defaults, so you move fast on your own work. You write the words and you own them.

Built for teams

Author solo, or bring the whole team.

Run SCORM Blocks as a single-author tool, or turn on enterprise mode for a shared workspace with its own accounts and roles. Administrators manage people from a Users page; authors build the courses they own or are shared on. Switch between the two modes from Settings whenever your team grows.

  • Single-user or enterprise mode, switch anytime
  • Admin and Author roles, no config files
  • Share a course to co-edit with a colleague
  • Accounts live in your own database, learners stay anonymous

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.