Recording of the visual regression run on realcraft.flowpesa.com · RealCraft — app walkthrough.

In this video· click a step to jump to it

R
Passed ✓

Test recording

RealCraft — app walkthrough

36,777 ms · 543 pixels changed

We built this regression test for realcraft.flowpesa.com — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against realcraft.flowpesa.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`);
  const settle = () => page.waitForLoadState('networkidle').catch(function () {});
  const SCROLL_THROUGH = "(async () => { const ease = t => 1 - Math.pow(1 - t, 3); const max = Math.max(0, document.body.scrollHeight - window.innerHeight); if (max < 40) return; const anim = (a, b, ms) => new Promise(res => { const t0 = performance.now(); const step = now => { const p = Math.min(1, (now - t0) / ms); window.scrollTo(0, a + (b - a) * ease(p)); p < 1 ? requestAnimationFrame(step) : res(); }; requestAnimationFrame(step); }); await anim(0, max, 1400); await new Promise(r => setTimeout(r, 350)); await anim(max, 0, 800); })()";

  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' });

  stepLogger.log('Scenario 1: Homepage');
  await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
  const accept = page.getByRole('button', { name: /accept|allow|got it|ok$/i });
  if (await accept.isVisible().catch(function () { return false; })) {
    await accept.click().catch(function () {});
+89 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
1.82%
Text
—
DOM
✓
Network
—
Console
✓
A11y
A
Perf
✓
URL
✓
Variables
—
Full report
Log in →
543
Diff px
37s
Duration
A
Accessible
WCAG 2.2 · 95
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

RealCraft (voice-to-illustrated-video) has one of the cleanest signup flows we've tested this batch: email+password registration lands you straight on the dashboard with zero email-verify gate and a 3-free-videos trial, no card required. The create-video wizard is a tidy 3-step form (audio source, style picker, details) with a live-updating cost/summary sidebar that reflects every choice instantly.

Highlights
  • Zero-friction signup
    Email+password registration redirects directly to an authenticated dashboard with no email verification step — rare in this batch, most targets gate on a confirmation link or code.
  • Live summary sidebar
    The video-creation wizard's right-rail Summary panel updates in real time as you pick a style or format, showing style/format/cost before you commit a credit — good affordance for a metered product.
  • Clear paid-feature fencing
    Pro styles (Realistic, Watercolor, Cinematic) and Character Reference are visibly locked with an 'Upgrade to unlock' CTA rather than hidden, so free users still see the full catalog.
Friction points
  • No public/demo surface
    Everything past the marketing home page requires an account — there's no sample video or public gallery to browse before signing up, so cold visitors can't see output quality without registering.

Visual change

Step 4543 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
tests
all passing
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,344 test runs recorded · 1,174 products tested with Lastest

This test was built for realcraft.flowpesa.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.