Getting started

DemoTape lets reviewers try your local branch through a public URL and records exactly what happened. Install it, run one command, and your PR becomes a live review flow.

Install

npm install -g @demotape.dev/cli

Requires Node.js 18 or later. Works on macOS, Linux, and Windows.

Log in

demotape login

Opens your browser to authenticate with GitHub, Google, GitLab, or Microsoft. Your token is saved to ~/.demotape/config.json.

If you don't have a project yet, the CLI will offer to create one.

Share your app

Start your local dev server as usual, then run:

demotape

DemoTape detects your app, creates a shareable session, and records what happens. If you want reviewer-ready sharing for a pull request, enable PR mode.

You'll see something like:

  Starting session for my-project…

  βœ” PR found: #42 "Fix onboarding edge case"
  βœ” App is live
  🌐 Creating DemoTape session...

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  πŸ” Try this PR live

  πŸ‘‰ https://my-project.demotape.dev?code=TDEV-4D3N-VDAJ

  I’ll get a replay of your session after you try it.
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  βœ” Copied to clipboard
  β†— Opening PR in browser...

The CLI copies a PR-ready comment to your clipboard so you can paste it directly into the pull request.

Quick share without PR mode

If you just want to share the running app without PR context, use:

demotape

DemoTape scans common dev ports (3000, 5173, 8080, etc.), detects your running app, and shares it directly.

You can also specify a port directly:

demotape 3000
demotape --port 3000

What PR mode does for you

On first run, DemoTape can detect the project, prompt for a startup command if needed, ask what reviewers should focus on, and open the PR in your browser. On later runs, it reuses the saved startup command and stays out of the way.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
πŸ” Try this PR live

Instead of reviewing code, you can use the app:

πŸ‘‰ https://demo-abc123.demotape.dev

Focus:
- onboarding flow + settings save

I’ll get a replay of your session after you try it.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

What your reviewer sees

Your reviewer opens the link from the PR comment and sees your app running live. A small overlay in the corner shows the session is being recorded and lets them leave timestamped comments.

Everything they do is captured: clicks, route changes, console errors, and network requests.

What you see

In your dashboard at demotape.dev/dashboard, you can:

  • Replay the full session β€” see exactly what your reviewer saw
  • Read their timestamped comments in context
  • Inspect console errors and network requests
  • See every page they visited and every route change

Live updates

While someone is using your shared app, you can update your code normally. The next page load or navigation will show your changes β€” no redeployment, no new review link.

Stop sharing

Press Ctrl+C in the terminal, or open the live session view in the dashboard and stop it from there.

The tunnel closes and the public URL stops working. Your recorded sessions remain in the dashboard.

Multiple projects

If you have more than one project, use --project to specify which one:

demotape --project my-client-site

Or omit it and DemoTape will open your browser to let you pick.

Try an example

Want something to share right now? The examples page has 14 ready-to-run apps covering auth flows, multi-service setups, WebSockets, and popular frameworks. The quickest one takes 30 seconds:

cd demotape-example-react-vite-node
npm run setup && npm run dev

# In another terminal:
npx @demotape.dev/cli