The product

Your tests already prove it works. Now show everyone.

Add one line to your Playwright tests. Midstream captures the full browser state at every checkpoint and turns each one into a live, shareable demo — automatically, on every PR.

Midstream live demo
Live demo

The flow

From a test to a demo,
in three moves.

No CI plumbing, no preview deploys, no manual coordination. Midstream lives inside the workflow you already have.

import { test } from '@playwright/test';
import { midstreamCheckpoint } from '@midstream/sdk/playwright';
 
test('sign up', async ({ page }) => {
await page.goto('/signup');
await page.fill(...);
await midstreamCheckpoint(page, 'signup');
});
checkpoint.spec.ts

Step 01

Drop in a checkpoint

Add one function call to any Playwright test. The line is a no-op locally — it only activates in CI and in your demo sandbox.

midstream-botcommented

3 checkpoints captured:

  • signup-success
  • checkout-cart
  • dashboard-empty
github.com

Step 02

Open a PR

Your existing CI runs. Midstream captures the browser state at every checkpoint slug — DOM, cookies, storage, network — and posts a comment with demo links.

Demo
Demo

Step 03

Click. Land. Click around.

Reviewers click a link and land exactly where the test left off. The whole app is live — they can fork their own version and explore without affecting anyone else.

Seeded state

Land where the test
left off.

Other preview tools hand you a fresh app and say "go find what changed." Midstream captures the entire browser state at your checkpoint — DOM, cookies, local storage, network — and seeds the viewer's browser with it.

It's not about saving five minutes of clicking. It's about removing the friction that stopped you from checking at all. Like a home gym — you're not buying it to save a 10-minute drive. You're buying it because that drive stopped you almost every time.

Seeded browser state
Seeded session
Pull request comment with demo links
PR review

In your PR

Where review
already happens.

Midstream comments on every PR with a screenshot and a clickable link for each checkpoint. Reviewers don't switch apps. PMs and designers don't ask for a Loom. The demo is one click from the diff.

  • Demo links inline with the diff — no context switch.
  • Sandboxes suspend after idle, spin back up in seconds.
  • Each reviewer can fork their own session to explore safely.

What you need

Nothing you don't
already have.

Midstream is intentionally boring at the integration layer. We're not asking you to adopt a new test runner, a new CI, or a new deploy pipeline.

  • Playwright tests

    Existing or new. If you have any E2E coverage today, you're already set.

  • A GitHub repo

    Midstream installs as a GitHub App. PR comments, status checks, the works.

  • A midstream.json

    Three keys: install, start, test. We use these to spin up your sandbox.

  • That's it.

    No Docker config, no infra changes, no new CI steps to maintain.

Ship faster.
Review better.

Get your first demo running in under five minutes. No credit card.