Skip to main content
A viewer sees the feature narrated over the screen it runs on, with every callout landing on the word that names it. A demo ages faster than anything else a company publishes, because the product moves every week. In DeckTalk the demo is text and code, so a renamed button is a one-line edit and a rebuild of the section that shows it. Nothing else is recorded again, and nothing else is voiced again.

What a viewer gets

  • Each callout, arrow and highlight arrives on the word that names it, so the eye is never hunting for what the voice is talking about.
  • Real product footage, because a section can be a video file of your own rather than a page.
  • A cut with no dead air, because the film is cut to the narration rather than the narration fitted to the film.
  • Captions, chapters, a transcript page and a poster frame, which a demo needs on a site where most viewers watch with the sound off.

What the author writes

A section is a page section, which names a page and a scene, a clip section, which names a clip file instead, or a render section, whose picture a program you name draws. A clip with a words file beside it, <clip>.words.json, has the captions carry the speech inside it too, and seamless = true says the clip continues the previous section’s picture, which verify then measures at the seam. An effect lands on a cue through a [[mix.effect]] row, which names a file, a section, a cue and an optional caption, db and offset_seconds. decktalk score is what generates those files, along with the music bed and the ambience, from the prompts in [score.music], [score.ambience] and [score.effects.<name>]. That stage spends, so it runs after record and a draft loop that stops at record never reaches it. A cursor that travels from one control to the next, or a progress bar that fills while the voice explains it, is a motion: it departs on one word and arrives on another, and verify measures both. Things that move shows how to declare one.

The workflow

1

Write the pitch first

Write script.md before the slides, because the words decide the cuts. Read each section aloud once and keep it to one idea.
2

Draft it with no voice

decktalk build --no-spend gives a complete film on placeholder narration, which is enough to judge the pacing before anyone spends a credit.
3

Drop the product footage in

Add a clip section for each screen recording, then run decktalk verify to measure every seam between a page section and a clip section. decktalk clip --section 3 --start 4 --end 9 --out build/callout.mp4 cuts a span of a built section into its own file when you need a short one on its own.
4

Look at the storyboard, then buy the voice

decktalk storyboard freezes every slide at every cue onto build/storyboard.html, and decktalk check prices the narration. Then decktalk build --spend voices what needs it, with --max-cost N as the ceiling that refuses the run before the first call.
5

Rebuild the section the product change touched

Edit the sentence or the callout, then run decktalk build --section 3. Every other section keeps its take and its recording.

Where to start

Read Quickstart for the first build and Play a clip for video of your own. Sound explains the accents a demo lives on, and the difference between bringing your own audio files and generating them. Examples lists the finished projects decktalk init writes, and --example motion shows a section that moves.

Also fits

Release notes, launch videos and conference talks run the same pipeline. The two use cases beside this one are technical tutorials and lessons.