In this video· click a step to jump to it
Test recording
Postbox — register + app walkthrough
61,204 ms · 50,725 pixels changed
We built this regression test for usepostbox.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against usepostbox.com. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
// Demo identity (fresh per run, traceable to Viktor's inbox via plus-addressing).
const DEMO_EMAIL = '[email protected]'•••'Lastest-Demo-202605131108!';
const DEMO_NAME = 'Lastest Demo';
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = () => page.waitForLoadState('networkidle').catch(() => {});
// ─── Public phase (always runs) ───────────────────────────────────────────
stepLogger.log('Scenario 1: Homepage');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
const accept = page.getByRole('button', { name: /accept|allow|got it|ok$/i });Checks run
Notes from the demo run
AI-generatedPostbox positions itself as the data-collection layer that AI agents talk to, not as another forms product. The brand is unusually disciplined for an indie: dark theme, a single red accent on CTAs and the active sidebar route, and a logomark that stays consistent between the marketing site and the authenticated dashboard. The post-signup onboarding is the strongest narrative moment: rather than a generic 'create your first thing' wizard, it forks the user into one of two named paths, 'Skill-compatible coding agent' (Codex, Claude Code, Cursor, Windsurf) or 'MCP-compatible client' (Claude, ChatGPT, Cursor, other MCP clients), with a 'Set up manually instead' escape hatch at the bottom. The authed surface itself is small and confident: Dashboard, Forms, Knowledge Base, plus three Integrations entries (API Keys, MCP, Skill). The bottom-left credits indicator (50 of 50 credits) plus the user email + plan tier signals usage-based metering without making it the lead.
- Agent-first onboarding forkThe 'Choose how you want to connect' modal asks one question, do you have an agent (Skill) or an MCP client, and routes setup accordingly. Most products start with 'create your first form'; Postbox starts with 'what are you using to read this data'. Strong signal that the product is designed for AI consumers first, humans second.
- Single-line install hook on /integrations/mcp/integrations/mcp shows a Server URL field (https://usepostbox.com/mcp) plus a ready-to-paste JSON config snippet for the user's MCP client. Auth happens browser-side on first connect, zero copy-paste friction and no API token bootstrapping ceremony.
- Credits-as-trustBottom-left of the chrome shows '50/50 credits left' for a Free Plan user. Putting the remaining quota in the chrome (not hidden behind a Billing route) makes the metering feel transparent rather than predatory.
- Breadcrumb chrome on every pageEvery authed page shows a 'Postbox / <Section> / <Subsection>' breadcrumb in the top bar plus a global search hotkey (Cmd+K). Small detail, but it means the surface scales beyond 3 levels without a UX redesign.
- Onboarding modal blocks all navigationAfter signup, the 'Choose how you want to connect' modal renders on top of every authenticated route. Visiting /forms, /knowledge_base, or /integrations directly all show the same modal, not the target page. The 'Set up manually instead' link in the modal footer is the only escape; without it, a returning user who closed the tab mid-onboarding is stuck on the modal forever. A small 'skip for now' close button in the modal chrome would prevent that.
- Signed-in toast races the modal hydrationPost-signup landing was a 'Signed in.' toast on top of an empty onboarding modal, with the modal body filling in a moment later. For a slow-connection visitor this could read as a flash of empty space before the modal hydrates.
- /integrations/api-keys/new·Would create an API key in the user's database. Skipped to keep the run side-effect free.
- /bug-report, /contact·Both render forms a click away from submission, would write to the founder's inbox if triggered. Skipped.
- Github OAuth connect on /settings/account·Redirects to github.com which Playwright cannot complete from a clean runner identity.
2 visual changes
Share this run
This test was built for usepostbox.com — claim it free
One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.





