Recording of the visual regression run on ecfotos.com · ECFotos — public walkthrough.

In this video· click a step to jump to it

E
Passed ✓

Test recording

ECFotos — public walkthrough

55,117 ms · 951 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against ecfotos.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(() => {});

  // Block known third-party noise so consoleErrorMode warnings stay minimal.
  await page.route('**/*', (route) => {
    const url = route.request().url();
    if (/cloudflare\.com\/cdn-cgi\/scripts\/[a-f0-9]+\/cloudflare-static\/email-decode/i.test(url)) {
      return route.abort();
    }
    return route.continue();
  });
+91 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
3.73%
Text
—
DOM
✓
Network
+30 −30
Console
✓
A11y
—
Perf
—
URL
✓
Variables
—
Full report
Log in →
951
Diff px
55s
Duration
—
Accessible

Notes from the demo run

AI-generated

ECFotos lands with a clear e-commerce-first hero (listing-ready product images, AI + bulk editing) and immediately backs the promise with a tool gallery, an AI model lineup, and an Amazon-image-checker funnel right on the homepage. The freemium /app workspace is browsable without login, which is a strong activation choice: a visitor can see the AI Listing Images entry, the AI Photo Editor, the tool catalog, and the model catalog before deciding to authenticate.

Highlights
  • Browsable freemium workspace
    Visitors hit /app and see the full Workspace, AI Tools and AI Models grids without an auth wall. The Bulk Editor and history rows show a contextual sign-in prompt instead of redirecting away, which preserves the feeling of being inside the product.
  • 20 free credits, called out twice
    Both the signin and signup screens show the 20-free-credits banner, and the Sign Up page itself has only one Sign Up button (Google OAuth). The funnel is clean: see value, click once, authenticate.
  • Topic-specific tool tiles
    AI Background Remover, Magic Eraser, Remove or Translate Text, Listing Optimizer for Amazon and Shopify, Bulk Image Editor. Each tile is one job-to-be-done for the SMB seller persona, with before/after thumbnails on cards like Magic Eraser.
Friction points
  • Sign Up button redirects without showing options
    Clicking Sign Up on /account/auth/signup redirects straight to /app rather than rendering the form. The visible heading reads Create Your Account but the visible CTA is a single Sign Up button. Users expecting a visible Google OAuth choice on the signup screen the way it appears on the signin screen may hesitate.
  • Loading skeleton on /app for 1 to 2 seconds
    The workspace shell renders Loading... in the main content area while sidebar loads instantly. The hydration race produces a perceptible delay before tool tiles appear.
Couldn't reach
  • /app/history·Requires authenticated session, behind the OAuth-only signin wall
  • /app/membership·Plan selection page reached only after login, not part of the freemium surface

4 visual changes

Step 147 px changed
Before
Before
After
After
Diff
Diff
Step 7860 px changed
Before
Before
After
After
Diff
Diff
Step 87 px changed
Before
Before
After
After
Diff
Diff
Step 1037 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,604 test runs recorded · 1,174 products tested with Lastest

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