A sales pitch that plays itself

AHA’s showroom pitch used to wait for a press at every scene. Now seven chapters play themselves, press real products on screen and pause only where the presenter talks.

27 Oct 2026 4 min readCase study · Showroom TV app

The problem

Every scene of the showroom pitch waited for someone to press on.

The solution

Slides that play themselves and pause only on a To remember slide.

15 → 5½ minwalkthrough, with a presenter clicking
7chapters that play themselves
56 to 60 fps3D lock, on a Chrome stand-in for the TV

AHA’s pitch plays on the showroom TV, run from the remote by whoever is showing a visitor round. It used to wait at every step: until v4.29, each prompt waited for the visitor and each scene for Click to continue, while title cards and subtitles carried the words. In v3.6 the whole walkthrough took 15 minutes.

The fix was to let it play itself, and stop only where a person should talk.

One rhythm for every chapter

Present is now 15 slides in 7 chapters: home automation (opening on the AHA logo), a walk through the experience centre in 3D, the smart lock, the aroma diffuser, the hub, then the buildings and the clients.

Every chapter keeps one rhythm. Its slide plays itself: prompts answer themselves after a moment, the centre walks itself room by room, and real AHA products are pressed on screen while the room answers. Then its To remember slide brings in the chapter’s key points one by one, in plain words, and waits for Click to continue while the presenter talks.

Three rules keep a person in charge:

  • Touch the remote and the slide waits. Any press or move stops it moving on by itself.
  • Or let it all run. The play key plays everything, giving each To remember 8 to 16 seconds to be read.
  • Nothing ends by accident. The first BACK only asks, and the TV waits 15 minutes before sleeping, not 20 seconds.
// every slide plays on by itself, except a To remember (unless play-all is on)
const playsOn = () => playAll || slide.kind !== 'remember';

onPrompt(()   => { if (playsOn()) after(aMoment, answerThePrompt); });
onSlideEnd(() => { if (playsOn() && !remoteUsedOnThisSlide) nextSlide(); });

Edited in short notes

The shape came from a run of short notes, each followed by a rebuild with Claude Code:

  • v4.24: what home automation is, the centre in 3D, the products, then the buildings and the clients.
  • v4.25: put the AHA logo back as the very first scene.
  • v4.26 to v4.28: home automation on one self-playing slide, redesigned as a virtual demo: the X7 switch pressing itself over the whole centre, then each moment’s film.
  • v4.29: no cut scenes, “minimize text during the slide”, and a To remember slide for every chapter.
  • v4.31: show the X7 once, not in several places.

That last note took the switch out as a chapter of its own, and the hands-free run fell from about 8 minutes to about 7. With a presenter clicking on from each To remember, the slides now run about 5½ minutes.

Demos instead of claims

No product’s look is invented: each is AHA’s own photo, or drawn after one.

  • The X7 switch. Every key carries three presets (a click, a double click and a long press), so six icons run eleven moments. Hold a key and a ring fills round its icon in 0.7 seconds; the key tips in, shakes a little as it bottoms out, like the real haptic key, and a quiet click is synthesised on the spot.
  • The lock. AHA’s photo shows its two panels at an angle, so each is straightened out of it with a projective warp (a CSS matrix3d) onto a 3D box of its own. It turns to face you, shows its ways in and its inside, and Take it apart lifts every part off with its name and a line from the catalogue. It used to cut between six photos. Measured in Chrome standing in for the TV (its screen size, graphics in software, the processor slowed four times), not on the TV itself, it ran at 56 to 57 fps up to Take it apart, 57 to 59 apart and 60 turning freely.
  • The hub. Run a scene, then take the internet away: the scenes still run.
  • The aroma diffuser. Release fragrance, then put it on a schedule.

The words are fenced in

Every fact on screen comes from the website’s knowledge base and product sheet, the only sources for anything a customer sees. House rules come with them: AHA designs, supplies, configures and commissions, and the client’s electrician installs; no dashes in the copy; nothing from a do-not-cite list. So the hub shows scenes running with the internet off, and nothing on screen claims “works without power”.

What I’d keep

  1. Let it play; stop where a person adds something.
  2. Any touch hands control back. Nobody should race a timer.
  3. Take the words off the moving picture. Points wait on a still slide.
  4. Show it working. A hub that runs offline beats a bullet point.
  5. One source of facts. If the knowledge base doesn’t say it, the screen doesn’t either.

More problems, more solutions.

All posts

Non-brand clicks are the SEO number that matters

+183% non-brand clicks

A path-traced showroom in a TV browser

22 renders, path-traced offline in about 2 hours