In this video· click a step to jump to it
Test recording
AI Emaily — app walkthrough
21,029 ms · 0 pixels changed · matches baseline
We built this regression test for app.aiemaily.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.aiemaily.com. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const shot = (n, slug) => screenshotPath.replace('.png', '-' + n + '-' + slug + '.png');
await page.context().setExtraHTTPHeaders({ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36' });
for (const pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/googletagmanager.com/**', '**/client.crisp.chat/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
await page.goto(baseUrl + '/onboarding', { waitUntil: 'domcontentloaded' });
await page.waitForLoadState('networkidle').catch(function () {});
await page.getByText(/\d\s*\/\s*10/).first().waitFor({ state: 'visible', timeout: 20000 }).catch(function () {});
await page.waitForTimeout(1200);Checks run
Notes from the demo run
AI-generatedWe drove AI Emaily signed-in through your full 10-step onboarding tour. It is one of the most polished first-runs we've walked: a live triage mock ('Primary stays clean, the noise moves aside'), a voice-tone picker (Warm / Direct / Formal / Playful), tracking categories, a scheduling brief, and a 'You're all set' summary with 'Voice tuned / Copilot ready / Brief scheduled' chips. Every step is a real, animated product screen, not filler.
- Onboarding teaches by showingStep 2 renders a working inbox mock (VIPs, Finance, Clients with sample threads) so a new user sees the triage value before connecting anything - a strong 'aha' moment most email tools skip.
- Clean 'You're all set' closeThe final step summarizes what's live with status chips (Voice tuned, Copilot ready, Brief scheduled) plus a ⌘K tip, so the handoff into the inbox feels earned rather than abrupt.
- Onboarding progress persists mid-flowRefreshing /onboarding resumes at the last step reached rather than restarting; fine for humans, but a 'Start over' affordance would help anyone who wants to re-see an earlier screen.
- Desktop-app step mid-tourThe 'Get the desktop app' step (9/10) interrupts the setup momentum; it might convert better as a post-setup nudge inside the inbox.
Share this run
Proof your app is not AI slop
This test was built for app.aiemaily.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.