scriptreel turns a short YAML script into a professional demo video of your web app, with a smooth cursor, auto-zoom, captions and a browser frame. It runs on your machine or in CI. No account needed.
β Nobody recorded this video by hand. scriptreel rendered it from a 20-line YAML file.
Pick an example. On the left is the exact script in the repository. On the right is the MP4 scriptreel rendered from it, with no editing afterwards.
Loadingβ¦
scriptreel drives a real Chromium browser with Playwright and composites every frame itself, so the result looks the same on any machine.
Glides along natural eased curves, with click ripples. No jittery mouse.
The camera zooms into whatever is being clicked or typed into, then eases back out.
On-screen captions, plus an .srt file from per-step voice-over lines.
Light or dark window chrome, rounded corners, shadow and gradient backgrounds.
Blur emails and API keys in every frame. Secrets come from env vars and never show in logs.
MP4, WebM or GIF at YouTube, vertical reel, square, 720p or 4K sizes.
A virtual clock means the same script gives the same video on a laptop or a slow CI runner.
Re-record every demo on each release with GitHub Actions. Your docs never go stale.
Build a demo.yml in your browser: set the options, add steps, then copy the file and the command.
You need Node.js 18.18 or newer. ffmpeg is bundled with the package. Chromium is installed once through Playwright.
npx scriptreel init
Writes an example demo.yml that you edit to match your app.
npx playwright install chromium
On Linux CI, add --with-deps.
npx scriptreel record demo.yml -o demo.mp4
Add --format gif,webm for extra formats.
| Install it as⦠| Command | Best for |
|---|---|---|
| Nothing (run with npx) | npx scriptreel record demo.yml | Trying it out and one-off videos |
| A project dev dependency | npm install --save-dev scriptreel | Teams: everyone and CI use the same pinned version |
| A global command | npm install -g scriptreel | Using scriptreel from any folder |
| A library | import { record } from 'scriptreel' | Building videos from your own Node.js code |
When a button moves, change one line and re-run instead of re-shooting the whole video.
Demos live in git, so changes go through pull requests like any other change.
Covers what you'd otherwise pay a screen-recording app for, and it's automated.
scriptreel is free and MIT-licensed. If it saves you hours of re-recording demos, a sponsorship pays for maintenance, new features and fast answers to issues.
β Become a sponsorFor developers and indie hackers. Our thanks, and your name in the supporters list.
For small teams shipping demos in CI. Your name and link in the README, plus priority on issues.
Your logo at the top of the README and on this site, plus a direct line for feature requests.
One-off coffees are welcome too Β· buymeacoffee.com/99proteam