How to create an interactive demo that lives in your repo

Learn how to create an interactive demo that lives in your repo: what to gather, how to draft the flow with AI, how to test it, and how to keep it current.

How to create an interactive demo that lives in your repo

Why is the demo the one artifact that doesn't live in your repo?

Everything else, the product, the docs, the landing page copy, sits in version control. The demo lives in someone else's SaaS, locked behind a capture tool you pay monthly to keep. If you want an interactive demo you actually own, start by refusing that default. This guide walks through the whole workflow: assets, structure, AI drafting, and a maintenance loop that does not fall apart the next time you ship.

What an interactive demo has to prove before anyone clicks

The job-to-be-done test

An interactive demo is not a product tour. A product tour explains how the product works. A demo has one job: prove the buyer can reach a useful outcome fast enough to care. If the viewer finishes the demo and thinks "interesting feature" instead of "I could see myself doing that," the demo failed, no matter how polished the screenshots look.

The test is simple: can you name the one outcome the buyer walks away believing is possible? If the answer is "they'll understand the product better," that's a product tour. If the answer is "they'll believe they can close a deal, ship a feature, or onboard a customer in under a day," that's a demo.

The funnel moment that actually matters

An interactive demo does different work depending on where it sits. On a launch page, it answers the "how does this work?" question before the signup button. In a sales follow-up, it replaces the second call. In a product-led signup flow, it replaces the first confused ten minutes in the app.

Research on PLG conversion consistently shows that time-to-value matters. The faster a prospect reaches the moment that makes the product click, the better the conversion tends to be. Pick the funnel moment you're solving before you build anything. A demo built for all three usually ends up serving none of them well.

Gather the right assets before you start building the demo

The asset checklist nobody writes down

Knowing how to create an interactive demo efficiently means arriving with the right inputs, not discovering them halfway through the build. Before you open any tool, you need:

  • The buyer outcome - one sentence: what does the buyer believe is possible after the demo?
  • The screens - 4 to 8 screenshots or UI states that trace the path to that outcome. Not every feature. The path.
  • The key message per screen - one line per screen that says what just happened and why it matters.
  • The CTA - what does the viewer do at the end? Trial signup, book a call, start a free project?
  • The handoff context - where does this demo live, and what comes after it for the viewer?

That's the whole checklist. If you do not have all five, stop and fill the gaps before building. You will run into them anyway, and finding them mid-build just means starting over later.

What to skip so the first draft stays short

The most common overbuild: too many screens, too many branches, too many "but what if they want to see X" detours. Attention research on interactive product flows points to the same thing most builders already know from experience: completion drops after the first few interactions. A tighter flow finishes. A comprehensive flow does not.

The rule is simple. If a screen does not move the viewer closer to the buyer outcome you named, cut it. You can add a variant later. You cannot un-confuse someone who already bounced.

Build the interactive demo around one buyer job, not every feature

Pick one path and make it obvious

The fastest path to a working demo is choosing the one sequence that proves value and ignoring everything else. Not the most impressive sequence. Not the most complete. The one where a skeptical buyer goes from "I don't get it" to "okay, I see how this works" in the fewest steps.

For most products, that sequence is three to five screens: the starting state, the key action, and the outcome. That's enough. The product has more to offer. That's what the trial is for.

Why the feature tour version loses people

When every screen tries to explain the product, no screen lands. The viewer is tracking too many things at once and never reaches the moment that makes them care. That is the structural problem with feature-heavy demos: they try to cover everything and end up losing attention.

The fix is not better copy on each screen. It is fewer screens. One clear path forces the viewer to follow it. A branching tour gives them room to get lost.

The one-demo, many-personas problem

A single core flow can support a launch page, a sales follow-up, and a PLG signup, as long as the buyer outcome is the same across all three contexts. The demo stays the same; the surrounding copy, the CTA, and sometimes the entry screen change.

A separate variant makes sense when the buyer job actually changes, not when the persona changes. If a CFO and a product manager are both trying to understand whether the product reduces time-to-ship, they get the same demo. If a CFO needs to understand pricing ROI and a product manager needs to understand the integration path, those are different jobs and need different flows.

Create the first draft with AI, then move the demo into your repo

A prompt that gets you a usable first pass

Start with your asset checklist and write a prompt that names the buyer outcome, lists the screens in order, and specifies the tooltip copy style. A working pattern:

"I'm building an interactive demo for [product]. The buyer outcome is [one sentence]. The screens are: [list in order]. For each screen, write a tooltip that names what just happened and why it matters to a buyer who [specific job]. Keep each tooltip under 20 words. Output as a JSON array with keys: screen, tooltip, cta."

The output will not be perfect. It will be a usable first draft in under five minutes, which is the point. You are not asking AI to decide the buyer job. You already did that. You are asking it to draft the copy layer.

What Cursor, Claude Code, or Codex should do here

The agent's job is to take the draft structure and turn it into code: the HTML shell, the click interactions, the tooltip positioning, the CTA wiring. This is the step that moves the demo out of a SaaS editor and into your repo. Give the agent the JSON from the previous step and a prompt like:

"Turn this demo spec into a self-contained HTML/JS interactive demo. Each screen is a full-width panel. Tooltips appear on click. Final screen has a CTA button linking to [URL]. No external dependencies."

The result is a file that lives in your repo, runs in a browser, and can be edited by any agent on the next pass.

The repo-native handoff

Once the demo is code in your repo, it follows the same workflow as everything else you ship. It gets committed, reviewed, and deployed alongside the product. When the product UI changes, the update is a prompt against the existing demo code, not a fresh capture ritual in a separate tool. That is the ownership model. The demo and the product live in the same place, so they can stay in sync.

Test the flow, tighten the copy, and ship the first version

The copy test that catches weak demos

Read every tooltip out loud. If a tooltip describes what the screen looks like rather than what it means for the buyer, rewrite it. "This is the dashboard" is a description. "From here you can see every open deal without opening a single record" is a reason to care. The test is whether the tooltip adds information the screen does not already make obvious. If it does not, cut it or rewrite it.

The staging check that saves you from bad surprises

Before launch, click every step in the demo the way a first-time viewer would. Confirm:

  • Every interactive element responds correctly
  • The screens match the current live product UI
  • The CTA goes to the right URL and the right destination page
  • The demo loads in under two seconds on a mobile connection

Fix anything that breaks before you ship. A broken demo on a launch page costs more than a delayed launch.

Keep the interactive demo current when the product UI changes

What changes when the demo is code, not a recording

On a screenshot-based tool, a UI change means re-capturing every affected screen. There is no in-place edit. A changed button label or a renamed nav item means another recording pass for every screen it touches. The effort scales with the number of affected screens.

When the demo is code in your repo, a UI change is a prompt: "The nav item 'Projects' is now called 'Workspaces' - update the demo." The agent edits the relevant lines. No re-capture, no fresh recording session.

The before-and-after update loop

Concrete scenario: you ship a redesigned sidebar. On a screenshot tool, that means re-capturing every screen that shows the sidebar. On a code-owned demo, the update is:

  • Note the specific change: sidebar layout, new icons, renamed items
  • Prompt the agent: "Update the demo to reflect the new sidebar - here's a screenshot of the current state"
  • Review the diff, confirm the tooltips still make sense, commit

The demo stays current. The product keeps shipping. The two do not drift apart because they live in the same place.

Where Inkly comes in

The problem this guide keeps running into is the same one every demo tool eventually surfaces: the demo is a recording locked inside someone else's SaaS, so every product change means a new recording, and every new customer means a new rebuild. The fix is not a better editor. It is a demo that is code you own, sitting next to your product, authored and maintained by your own agent.

Inkly is built on that idea. The Chrome extension gives you the same fast first-capture as Supademo. After that, the workflow changes: the demo is code in your repo, and every update or per-customer variant is a prompt, not a re-record. Prompt to create, prompt to update, prompt to produce a variant for the next customer. That's the loop. The one honest tradeoff: the MVP path is bring-your-own-agent (Cursor, Claude, Codex). If you do not have a coding agent set up yet, the repo-native workflow adds a step. If you do, the demo becomes the one artifact that finally lives where the product lives.

FAQ

Q: What is the fastest way to create an interactive demo that I can own and keep updating?

Start from the smallest buyer job, not the full product. Use AI to draft the first version from your screen list and a one-sentence buyer outcome. Keep the demo in your repo so updates happen in the same place as the product. A UI change becomes a prompt, not a re-record session.

Q: What assets do I need before I start building the demo?

Five things: the buyer outcome in one sentence, 4 to 8 screens that trace the path to that outcome, one-line copy per screen, a CTA, and the handoff context, meaning where the viewer goes next. A short checklist beats a sprawling content brief every time.

Q: How do I use AI tools to draft the demo flow, copy, and tooltips?

Give the agent the buyer outcome, the ordered screen list, and a copy style instruction. Ask it to output a tooltip per screen as structured data. JSON works well. The common mistake is asking AI to decide the buyer job for you. That decision has to come first, from you, before the agent touches anything.

Q: How do I choose which screens and moments to include so the demo stays short and high-converting?

Apply the buyer-job filter: does this screen move the viewer closer to the one outcome you named? If not, cut it. A demo that covers every feature invites abandonment. A demo that proves one outcome earns the click to the trial.

Q: How do I keep an interactive demo accurate when the product UI changes?

The maintenance model is the repo. When the demo is code next to the product, a UI change is a prompt against the existing demo code, and the agent updates the relevant screens without a full re-capture. Screenshot-based tools require a new recording pass for every affected screen. Code-owned demos require a prompt.

Conclusion

The demo should live where the product lives. That is the whole argument. Build the smallest version this week: one buyer outcome, four to six screens, AI-drafted tooltips, code in your repo. Then ship a product change and update the demo once before you call the workflow done. The second update is where the ownership model pays off, and it is the only way to know if the workflow actually fits how you build.

Try Inkly

Ship your next demo before the meeting starts

Interactive demos built from your real product and kept current as you ship, done for you.

Book a demo

Keep reading

All posts →