For customer education and training

Every release ships with its training already updated.

For SaaS vendors that train thousands of customer users: courses built from walkthroughs that are re-recorded and checked on every release, certificates that lapse when the product changes, and packages for your LMS.

Courses as code

A course puts walkthroughs in teaching order, in one file per course: sections, learning paths per role, knowledge checks, completion rules and certificates. Lessons play the latest approved recording, so a course never shows last quarter's UI.

  • Knowledge checks are drafted from the walkthrough and hidden from learners until a person approves them.
  • Learners sign in from your app with a short-lived signed token, or by invite.
.walkthroughs/courses/acme-crm-basics.yaml
id: acme-crm-basics
title: Acme CRM basics
visibility: learners
completion: { watched: 0.9, checks: required }
certificate: { title: Acme CRM certified, validDays: 365, lapse: on-change }
paths:
  - id: admins
    title: For admins
    roles: [admin]
    lessons: [search-customers, invite-teammate]
sections:
  - id: basics
    title: Basics
    lessons:
      - walkthrough: search-customers
        check:
          pass: 0.8
          questions:
            - id: where
              ask: Where do you search for a customer?
              choices: [The search bar at the top, Settings, The Reports tab]
              answer: 0
      - walkthrough: invite-teammate
      - planned: Export a report
A course file: learning paths per role, a knowledge check, and a certificate that lapses when a lesson's flow changes. Sample project.

When the product changes, the training says so

When an approved UI change to a lesson publishes, that course's certificates need a refresh and learners see a short "What changed" view of just the changed lessons. Release training drafts "What changed in this release" from the UI changes approved between two versions, each clipped to the changed steps.

  • SCORM 1.2, SCORM 2004 (4th edition) and cmi5 packages per course. They stream the current recording, so the package in your LMS doesn't go stale.
  • Each language recorded from the product running in that language, checked on the PR, with untranslated strings and cut-off labels noted. A person approves each locale's translation before it publishes.
Acme CRMDealsContactsSettings

Settings › Members

Invite teammatessam@acme.exampleMember ▾Send invite

Pick a role, then send the invite. They get an email right away.

0:31 / 1:08CC
  1. 0:00 Find Members
  2. 0:12 Open the invite
  3. 0:26 Pick a role and send
  4. 0:52 Where invites wait

Recorded from build a1b2c3d · verified 3h ago

The player page and embed. The stamp says which build it was recorded from and when a run last passed. Sample project, example data.

Fits an enterprise release process

Checks run in GitHub, GitLab (including self-managed), Azure DevOps (Services and Server) and Bitbucket Cloud. For staging that only your network reaches, run Stagewright's recorder container inside it: it opens no ports and only calls out over HTTPS.

Videos can be public, private or password-protected, and served from your own domain.

VerdictMeaningCheck
= UnchangedPassed; every step matches the approved framessuccess
Δ UI changed / + NewPassed; steps look different, or it's the first runaction required: approve
! Update the walkthroughFailed twice the same way, and the PR touched the walkthrough's anchorsfailure
▲ RegressionFailed twice the same way, and the PR didn't touch its anchors. Filed as an issuefailure
~ FlakyFailed once, then passed or failed elsewhere on the automatic second run. Never files an issueneutral
– SkippedThe change can't affect it; its approved recording stays the baselineno run
Every failed recording runs a second time before it's judged. Only a regression or a broken walkthrough fails the check.

Not there yet

We'd rather you hear it here than in a security review.

  • SCIM provisioning. SAML single sign-on and audit-log export are on the Scale plan.
  • SOC 2. We're keeping practices audit-ready and will start the process when a customer needs it.
  • Data residency choice. The database is in the US today; a runner you host keeps the browser on your network, but recordings are uploaded to Stagewright.
  • Jira Data Center and Bitbucket Data Center. Jira Cloud and Bitbucket Cloud are supported.
  • Help-center articles per locale. Translated videos and articles are served from the player; help-center publishing is in the source language.
  • Recording by clicking through the app, and desktop or mobile apps.

Try it on your own product

Record a first walkthrough on your machine with no account. PR checks, approvals and publishing are in private beta: join the waitlist and we'll set you up by hand.