Demo videos of Mac apps, web pages, code and the command line, from a script.
Screen terminal as term Type "reel record musicbox.reel" Key return as run Screen code as script Code musicbox.reel Follow Attach Musicbox.app as app Set Layout term | script Wait for app Layout@smooth,1s (term / script) | app Say "Musicbox, a macOS app we record…" Spotlight app Say@guest,over "…and [mute] clicks it." Wait [mute] as muting
The video above is one reel of three tracks, recorded at once: a terminal that runs another reel, a code screen that Follows that reel's script line by line, and Musicbox, Attached as it opens, with its own sound. The director lays them out, spotlights one, and times each line to the click it describes. Every step is one line: commit the reel next to your code and record it again whenever the app changes. Reels together
Open a URL instead of launching an app. reel drives Chrome, Brave, Edge or Safari's WebKit itself, records the page with its sound, and leaves your mouse and keyboard alone. Here it plays Satie's first Gymnopédie on Wikimedia Commons, recorded by Musopen and in the public domain. Web pages
Screen code walks through source in an editor of reel's own: the file and the lines that matter, a focus that dims the rest, numbered marks, callouts, typing at your pace, and files side by side with the relations between them drawn in. Nothing to install, no window, no permissions, and the same take every time. Code
Screen terminal runs a real shell in a terminal of reel's own: it waits on what commands print, covers secrets as they're typed, and points at the output that matters. Here reel checks and records a reel of its own. No permissions needed. Terminal

An app, or Open a web page, and start recording.

Real clicks with a quiet ripple.

Keystrokes at a natural pace.

Shortcuts shown as clean badges.

Ease into a region, then back out.

Narration in an AI voice from voicebox, yours cloned or a preset, or a macOS voice; your app ducked under it.

Timed captions, fading in and out.

Title cards over a colour or an image, or your own video, sound and all.
Describe the demo in a .reel file.
reel musicbox.reel
Grant Screen Recording and Accessibility once.
Movies and GIFs with framing, sound and captions, sized for GitHub, your site and social feeds.
A fresh clip for every version.
Demos that never go stale.
16:9, 1:1 and 9:16 cuts from one recording, each held to its platform's size.
Record once. Set Profiles renders a cut for each place it's going, each in its shape and under its limits.
READMEs, issues and pull requests: 1920 wide, under GitHub's 10 MB, with a GIF.
Your landing page and docs: 1920 wide, light enough to autoplay.
YouTube Shorts, TikTok and Instagram Reels: 1080×1920, subtitled for feeds that play muted.
X, Bluesky, Mastodon and LinkedIn: 1920×1080, under their size and length limits.
Instagram and LinkedIn posts: 1080×1080.
Lossless ProRes, to edit further.
Requires macOS 15 or later, Apple silicon. Then reel doctor, and your first reel.
macOS requires it for any program that captures the screen. reel records only the window, or the page, a reel points it at, with its sound.
It lets reel click, type and press keys in the app on your behalf. Both permissions are granted in System Settings, Privacy and Security.
macOS 15 or later on Apple silicon.
Yes: Open a URL instead of launching an app. WebKit is built in, or Set Browser chromium. A web reel leaves your mouse and keyboard alone.
Yes: whatever happens between Hide and Show is left out of every video. Hide, click the banner away, open the right view, Show, and the video starts there.
Yes. Captions, zooms, speed-ups, cuts, title cards and every output setting are applied when rendering: reel render. Only a change to what happens in the app needs a new recording.