Sharing prototypes

How others see your prototype — today via branch checkout, tomorrow via staging URL

Today: branch checkout

When you spawn a prototype, it lands on a prototype/<name> branch in the main checkout. To share it with reviewers:

  1. Commit your work on the prototype/<name> branch.
  2. Push the branch to GitHub: git push -u origin prototype/<name>.
  3. Send the branch name to whoever wants to see it.

They can then:

git checkout prototype/<name>
bun install
bun run dev:prototype-<name>

The dev server starts on the port the spawn script allocated (visible in the prototype's package.json dev script — typically 5200+N).

If they're using Claude Code, the prototype's launch.json entry is committed with the branch — they can also click the preview button without learning the port number.

Prototype branches don't need a PR or merge to be viewed. They live as long as you need them, and accumulate in prototypes/*/ once they're merged. There's no automatic cleanup — that's intentional for v1.

Tomorrow: staging URL

Tracked as FAB-123. When that lands, every prototype will auto-deploy on push to main to a shared staging URL. Anyone with the URL (and a password — Reva is fintech) can open the prototype in their browser without cloning the repo.

The deployment mechanism is still being decided — Reva already has a working SPA deploy stack (S3 + CloudFront via the reusable reva-platform/terraform/.github/workflows/deploy-spa.yml workflow used by apps/auth and apps/client-portal). Prototypes will likely reuse that or a close variant.

Sharing externally (with customers, partners, designers outside Reva)

Not supported in v1. If you need to show a prototype to someone outside the org before FAB-123 ships, the options are:

  1. Screen-share the local dev server.
  2. Record a video of the prototype in action.
  3. Send a one-off Vercel deploy of the prototype (talk to your engineering team — there's no automated path for this yet).

On this page