Recording of the visual regression run on beatable.co · Beatable — register + use the app v10 (runtime-fresh email).

In this video· click a step to jump to it

B
Passed ✓

Test recording

Beatable — register + use the app v10 (runtime-fresh email)

43,228 ms · 20 pixels changed

We built this regression test for beatable.co — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against beatable.co. Claim it into your own workspace and re-run it on every deploy — free.

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const REQUIRES_AUTH = true;
  // Runtime-fresh demo identity. Every rerun gets a brand-new account, so we
  // never hit "email already taken" on Beatable's server (the previous-run
  // failure mode). Stamp uses ISO date down to the minute, stripped to digits:
  // e.g. 202605141422. Plus-addressed so any verification mail still lands in
  // Viktor's real inbox.
  const STAMP = new Date().toISOString().slice(0, 16).replace(/[-T:]/g, '');
  const DEMO_EMAIL = `viktor+beatable${STAMP}@lastest.cloud`;
  const DEMO_PASSWORD = `•••`;
  const DEMO_NAME = 'Lastest Demo';
  const APP_IDEA = 'Lastest — visual regression testing platform built on Playwright. Open source, self-host or use the cloud at https://lastest.cloud. Replaces Percy and Chromatic for indie SaaS teams who want AI-driven test maintenance, baseline diffs on every deploy, and a free tier that does not require a credit card.';
+110 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
0.03%
Text
—
DOM
✓
Network
+553 −91
Console
7 new
A11y
—
Perf
—
URL
✓
Variables
—
Full report
Log in →
20
Diff px
43s
Duration
—
Accessible

Notes from the demo run

AI-generated

Polished Laravel SaaS pitching instant AI business idea validation. The demo registers a fresh account, types a description of Lastest into the validation textarea, clicks Start Validation, and captures the resulting Processing/Pending result page. End-to-end real app interaction with Lastest itself as the input.

Highlights
  • Real app use captured
    The demo does not stop at signup. After auth completes, it types a real Lastest description into the validation textarea and clicks Start Validation. The Processing/Pending result page is the final authenticated baseline — showing Beatable actually accepting and queuing the submission.
  • Auth completes cleanly with confirm-password + multi-consent
    Three-tier consent UI (data-use required, profiling required, marketing optional) signed cleanly, no captcha, no verify-email gate.
  • Strong hero framing
    Instant business idea validation + competitor analysis + risk assessment in seconds reads as differentiated indie positioning.
  • Thoughtful empty state
    Returning home after submission auto-loads a fresh sample idea; the textarea is never empty on a return visit.
Friction points
  • Cloudflare email-decoder TypeError on every page
    The CF email-obfuscation script throws TypeError: Cannot read properties of undefined (reading querySelectorAll) on every authenticated page. Third-party (CF auto-injects), but pollutes any browser error monitor wired up at the founder side. Disabling email obfuscation in the Cloudflare dashboard is a one-click fix.
  • Re-navigation to root drops the session
    An authenticated user who explicitly visits beatable.co/ ends up on the unauthenticated marketing page. The session-aware home lives at the post-signup URL. Some apps (Stripe, Linear) detect the session and serve the authenticated render at the same URL — worth aligning since SSO redirects and email-link followups often land on /.

Visual change

Step 420 px changed
Before
Before
After
After
Diff
Diff

Share this run

57,604 test runs recorded · 1,174 products tested with Lastest

This test was built for beatable.co — 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.