Your tests already prove it works. Now show everyone.
Add one line to your Playwright tests and turn every important moment into a live, shareable demo. No infrastructure changes, no new CI steps.
Checkpoints: one line of code
You already write E2E tests that navigate to important states in your app. A checkpoint is a single line that says “this moment matters — make it demoable.” One function call in your test, and that moment becomes a live, shareable demo.
// your-app.spec.ts
test('new booking flow', async ({ page }) => {
await page.goto('/bookings/new');
await page.fill('[name="title"]', 'Team standup');
await page.click('text=Next');
await midstreamCheckpoint(page, 'booking-form');
});Seeded state, not just a running app
Other tools give you a running app and say “go find what changed.” Midstream captures the full browser state at your checkpoint — cookies, local storage, DOM, everything — and seeds the viewer’s browser with it.
It’s not about saving 5 minutes of navigation. It’s about removing the friction that stopped you from checking at all. Like a home gym — you’re not buying equipment to save a 10-minute drive. You’re buying it because that drive stopped you almost every time.
The workflow
- 01Add
midstreamCheckpoint()in your Playwright test - 02Push your PR
- 03Midstream runs your tests and captures state at each checkpoint
- 04PR gets a comment with demo links and screenshots
- 05Anyone clicks a link and lands in the live app at that exact moment
- 06Demo machines suspend after idle, spin back up in seconds
What you need
- Playwright tests (existing or new)
- A GitHub repo
- A
midstream.jsonwith your install, start, and test commands - That’s it. No Docker config, no infrastructure changes, no new CI steps.
Built for how you work
Code review
Stop guessing what PRs actually do. Click through live demos instead of reading diffs.
Learn moreAI agents
See what agents actually built before it merges. Fight UX slop, not just code slop.
Learn moreCollaboration
Get feedback from PMs, designers, and stakeholders while the PR is still open.
Learn more