Skip to content
Algoryq Learn

Delivery & Engagement

Built for a bad connection

The player, progress, notes and questions — including progress captured with no signal and replayed in order when it returns.

learn · 50 API routes
A student sitting on a campus bench checking her phone with earbuds in.

What it does

Resume where they left off

The most-used feature in any LMS, and it works on a phone.

Notes and questions

Against the lesson, with a moderation queue for staff.

A catalogue that respects permissions

A learner sees what they may enrol in, not everything.

Offline progress

Queued on the device, replayed in order, idempotently, last write wins.

Installable

A PWA: it goes on a home screen without an app store.

How it actually works

Why the offline queue replays in order

Progress events are queued in IndexedDB in their original sequence and replayed through one idempotent endpoint. Out-of-order replay would let a stale “25% watched” overwrite a later “complete”; a non-idempotent one would double-count a retry. Neither is theoretical on a train through a tunnel.

The permission keys it adds

A sample. Each is a real key in the catalogue, described for a school administrator rather than an engineer.

  • learn.course.access
  • learn.progress.view
  • learn.qa.moderate
  • learn.enrollment.manage

All 272 keys, filterable

Who holds it

  • Student
  • Teacher
  • Parent

The shipped role templates that hold it by default. Each is a copy you own and can edit — nothing in the code reads a role's name.

And what it does not

Naming these here is cheaper for both of us than discovering them in week six of a pilot.

What this does not do yet

Naming these is cheaper for both of us than discovering them in week six.

  • Downloadable offline media
  • A native app — deliberately

The whole list, with percentages

Start on the free tier. Bring your spreadsheet.

A hundred seats, twenty-five courses and no conversation. If you would rather see it driven by someone who knows it, that takes twenty minutes.

Or open the sandbox (opens in a new tab) and click around first. No form.