How to Automate Product Walkthroughs and Onboarding Videos Without Screen Recording Software
Loom is great until you need to regenerate a demo. A single UI change means re-recording, re-narrating, re-editing. Your onboarding video goes stale. Your checkout walkthrough now shows an old button. Your feature demo describes outdated flows.
Indie developers and SaaS founders don't have a video production team. Regenerating a demo manually takes 20–30 minutes. You probably don't do it.
What if your walkthroughs regenerated themselves?
The Problem: Manual Video Recording Doesn't Scale
Every time you change your UI, your demo videos become lies. They show old buttons, old flows, old states. Your customers watch them and get confused. Your support team fields questions because what they watched doesn't match what they see.
Worse: you have to remember to update them. A design change happens. The demo doesn't. A week later, a user reports it. You scramble to re-record and re-upload.
Screen recording tools solve the action problem. They don't solve the regeneration problem.
The Solution: Record Walkthroughs Programmatically
PageBolt's video recording API lets you define a product demo as code—navigate, click, fill, narrate—and generate an MP4 without touching a screen recorder.
Define your demo once. Regenerate it on every deploy. Change a URL? Regenerate. Update copy? Regenerate. Add a feature? Regenerate.
Your walkthroughs stay current. Automatically.
The Curl Example: One API Call Per Demo
Here's how to record a narrated checkout walkthrough:
curl -X POST https://pagebolt.dev/api/v1/video \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"steps": [
{
"action": "navigate",
"url": "https://yourapp.com/checkout"
},
{
"action": "fill",
"selector": "input[name=email]",
"value": "user@example.com",
"note": "Enter your email"
},
{
"action": "fill",
"selector": "input[name=card]",
"value": "4242424242424242",
"note": "Use a test card"
},
{
"action": "click",
"selector": "button[type=submit]",
"note": "Complete purchase"
},
{
"action": "wait",
"ms": 2000
}
],
"audioGuide": {
"enabled": true,
"script": "Welcome to checkout. {{0}} {{1}} Enter your payment details. {{2}} {{3}} Complete your purchase. Done."
},
"cursor": {
"style": "highlight",
"visible": true
},
"frame": {
"enabled": true,
"style": "macos"
},
"background": {
"enabled": true,
"gradient": "ocean"
}
}' \
-o demo.mp4
One curl call. One MP4 back. Total time: ~10 seconds.
The video includes:
- Click highlighting and cursor tracking
- AI voice narration synced to each step
- macOS browser frame for polish
- Gradient background for visual appeal
- Full 1920×1080 resolution, 30fps
Real Use Cases: Where This Actually Saves Time
Product Launch Day
You ship a new feature Friday afternoon. By Monday morning, you need:
- Updated onboarding video
- Feature demo for the changelog
- YouTube shorts for Twitter
Instead of filming each one manually, one script generates all three. Different paces, different backgrounds, different narration — all from the same steps.
# Fast version for Twitter
./record-demo.sh --pace fast --background glass --narration "30-second version"
# Slow version for onboarding
./record-demo.sh --pace slow --background ocean --narration "customer-friendly version"
# Cinematic version for changelog
./record-demo.sh --pace dramatic --background sunset --narration "full-feature walkthrough"
Changelog Updates
Every release, record a 60-second walkthrough of the new feature. Customers see exactly what changed, not a text description they skip.
Customer Onboarding
New signup? Send them a 2-minute walkthrough of your product recorded last night, not a Loom from six months ago.
Sales Demos
Your sales person sends a personalized walkthrough to every prospect. Same script, personalized narration voice, customer's name in the audio. Takes 5 minutes to generate, feels hand-recorded.
How to Build This Into Your Workflow
Option 1: On Deploy (CD Pipeline)
Every time you deploy, regenerate your demo videos:
#!/bin/bash
# scripts/regenerate-demos.sh
PAGEBOLT_KEY=$PAGEBOLT_API_KEY
# Checkout walkthrough
curl -X POST https://pagebolt.dev/api/v1/video \
-H "x-api-key: $PAGEBOLT_KEY" \
-H "Content-Type: application/json" \
-d '{...}' \
-o public/demos/checkout.mp4
# Onboarding walkthrough
curl -X POST https://pagebolt.dev/api/v1/video \
-H "x-api-key: $PAGEBOLT_KEY" \
-H "Content-Type: application/json" \
-d '{...}' \
-o public/demos/onboarding.mp4
echo "Demos regenerated. Uploading to S3..."
aws s3 cp public/demos/ s3://your-bucket/demos/ --recursive
Add to your GitHub Actions workflow:
- name: Regenerate demo videos
run: bash scripts/regenerate-demos.sh
env:
PAGEBOLT_API_KEY: ${{ secrets.PAGEBOLT_API_KEY }}
Now every deploy updates your demos.
Option 2: Manual Button (Your Dashboard)
Add a "Regenerate Demos" button to your admin panel:
async function regenerateDemos() {
const response = await fetch('https://pagebolt.dev/api/v1/video', {
method: 'POST',
headers: {
'x-api-key': process.env.PAGEBOLT_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
steps: [/* your steps */],
audioGuide: { enabled: true, script: '...' }
})
});
const blob = await response.blob();
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = 'demo.mp4';
link.click();
}
Option 3: Scheduled (Nightly Regeneration)
Regenerate every night at 2 AM so your demos are always fresh:
# .github/workflows/nightly-demos.yml
name: Nightly Demo Regeneration
on:
schedule:
- cron: '0 2 * * *'
jobs:
regenerate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: bash scripts/regenerate-demos.sh
env:
PAGEBOLT_API_KEY: ${{ secrets.PAGEBOLT_API_KEY }}
- uses: dawidd6/action-upload-artifacts@v1
with:
name: demos
path: public/demos/
The Math: Time and Cost
Loom + Screen Recording:
- Time per video: 20–30 minutes (record, edit, upload)
- Cost: $10–25/month
- Stale factor: Regenerates only when you remember
PageBolt API:
- Time per video: 2 minutes (write steps, run curl, done)
- Cost: $0.10–0.50 per video (at scale)
- Stale factor: Regenerates automatically on deploy
For an indie SaaS with 5 product demos, regenerated quarterly:
- Loom: 4 hours/quarter = 16 hours/year + manual overhead
- PageBolt: 10 minutes total + CI pipeline setup (one-time)
At 6 months in, PageBolt has saved you 5+ hours of manual video work. Plus your demos never lie to customers.
Getting Started
- Get an API key: Free tier includes 100 requests/month — enough for monthly demo regeneration.
- Write your steps: Define your demo as a script (navigate, click, fill, wait).
-
Add narration: Write a script with
{{0}},{{1}}markers for step-synced audio. - Run one curl call: Get an MP4 back in 10 seconds.
- Integrate into CI: Add to your deploy pipeline if you want automatic regeneration.
No screen recorder. No manual editing. No stale walkthroughs. Just API calls.
Try PageBolt free — 100 requests/month, no credit card needed.
Top comments (0)