CaptureBeamDemo compiler
Features · YAML as code

Demos under version control.

Every demo is a YAML file you can review, diff, and merge. Code review for product video. Branch a demo. Tag a demo. Roll back a demo.

The schema

Thirteen step types, one discriminated union

Each step is one of: goto, click, type, scroll, wait, hover, dragTo, keyPress, assertVisible, assertHidden, pause, highlight, cameraPan. Optional caption block per step. Targets are role/name/label/text/testId — never a CSS selector.

Every render of this feature is deterministic. Capture writes the metadata; the composition reads it. Re-render after a UI change to get the new output without re-recording.

# demos/onboarding.yaml
title: "Acme onboarding"
preset: iris
aspect: "16:9"
quality: 1080p
steps:
  - goto: https://app.acme.com/welcome
  - click: { role: "button", name: "Get started" }
    caption: "First, click Get started"
  - type: { label: "Workspace name", text: "Acme HQ" }
  - click: { role: "button", name: "Create" }
  - assertVisible: { text: "Welcome to Acme" }
PR review

Demo changes go through code review

Diff a renamed button as a one-line change. Comment on a step. Block a merge if a step regression slips in. Engineering ships your demos with the same hygiene as the code.

  • Single-file YAML — clean diffs even for non-technical reviewers
  • Schema validation in the runner; bad YAML never ships
  • Generated events.json captures the resolved selector for forensics
  • Demo source lives in /demos/ next to your code, not in a SaaS database
Authoring

Hand-written, recorded, or agent-generated

Two on-ramps: write the YAML in the cloud editor's typed timeline, or have an agent author it from a URL against the JSON Schema and POST it to the API.

Every render of this feature is deterministic. Capture writes the metadata; the composition reads it. Re-render after a UI change to get the new output without re-recording.

Render with YAML as code.

$19.99/mo or $199/yr. Render through the dashboard or via the API — same access either way.