Record how people use your app.
Replay it automatically.

Test Chain sits in front of your app as a proxy. Click through a flow once — login, checkout, an email verification — and replay it on demand, in CI, or on a schedule.

Free to start · No credit card required
yourapp.com/login
Recorded steps
Click Sign in button
Input #email → {{testEmail}}
Input #password → ••••••••
Click Submit
Get verification code
Assert Dashboard is visible
Runs
Pass Manual replay · 4.2s
Pass Nightly run · 12 suites green
Pass Scheduled · every day at 6:00 AM

Works inside the browser you already use. Test Chain proxies your app, injects a recorder transparently, and drives the real DOM — so what you test is exactly what ships, not a mocked stand-in for it.

Everything you need to test real flows

No SDK, no code changes — just record, replay, and schedule.

Proxy-based recording

No SDK, no injected package, no code changes to your app. Test Chain proxies the page and injects a recorder transparently.

Reliable replay

Smart selector generation and network-idle waits so replays don't flake on dropdowns or async UI.

Real email verification

Built-in inbox polling for magic links and verification codes — test signup and login end to end.

Scheduled runs

Run suites on a cron schedule and get an email the moment a flow breaks, with a screenshot of the failing step.

0
Lines of code added to your app
2.5s
Inbox poll interval for email steps
24h
Crash-recovery autosave window
See it in action

Watch a recorded flow play back

replaying session…
Click Sign in button
Input #email → {{testEmail}}
Click Submit
Assert Dashboard is visible
Looping mock of a real replay — not a staged video.

Common flows people record

A few examples of the kind of suite that takes minutes to record and seconds to replay.

6 steps

Signup with email verification

Fill the form, poll a real inbox for the code, confirm the dashboard loads.

5 steps

Checkout with a saved card

Add to cart, apply a promo code, confirm the order total before payment.

4 steps

Password reset flow

Request a reset link, click through from the inbox, set a new password.

Read how these work
Our approach

Built to test the real thing

A few decisions we won't undo, because they're the reason the tool is trustworthy.

No SDK, by design

If it needs a script tag to test your app, it's testing an app plus a harness — not the app your users see.

Isolated by default

Every session gets its own cookie jar and namespaced storage. Parallel runs never see each other's state.

AI where it earns its keep

One natural-language step for the part that's awkward to record by hand — not a black box for the whole suite.

Fails loud, not silent

A scheduled run that breaks emails you the failing step and a screenshot — before your users find it first.

Built with

Real infrastructure, not a demo

Mailsac OpenAI Anthropic Playwright Redis PostgreSQL Express WebSocket

How it works

Three steps from a manual flow to an automated one.

1

Point it at your app

Enter your app's URL — Test Chain loads it through the proxy, no setup required.

2

Click through the flow

Hit record and use your app normally. Every click, input, and navigation is captured.

3

Replay and schedule

Replay on demand, wire it into CI, or schedule it with failure alerts by email.

Common questions

How recording, replay, and scheduling actually work under the hood.

?Do I need to install anything on my app?+

No. Test Chain runs as an HTTP proxy — you give it your app's URL and it loads the page through the proxy, injecting a recorder transparently. There's no script tag, package, or config change on your side.

?How does email verification work in a recorded flow?+

An email step polls a real inbox (via Mailsac) every 2.5 seconds up to a timeout you set, then extracts a link or one-time code from the message. No mocking — the actual email your app sends gets tested.

?Can two runs interfere with each other?+

No. Every session gets its own cookie jar and namespaced localStorage, so parallel or scheduled runs against the same app never bleed into each other's state.

?Can I run suites on a schedule?+

Yes — attach a cron expression and a notify address to any suite. If a step fails, you get an email with the exact failing step and a screenshot.

?What happens if I lose my recording session?+

Actions autosave 800ms after every change. If your browser closes mid-recording, the session is restored automatically as long as it's under 24 hours old.

Start recording your first flow

Create a workspace in under a minute — no credit card required.

Record a flow