Recording of the visual regression run on feedbackqueue.dev · feedbackqueue — app walkthrough.

In this video· click a step to jump to it

F
Passed ✓

Test recording

feedbackqueue — app walkthrough

46,249 ms · 46,128 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const AUTHED_PATH = '/onboarding';
  const BUSINESS_INTERACTIONS = [{slug:'submit-tool',input:{labels:['url','product','tool','website'],placeholders:['yourtool','url','product','https','tool']},value:'https://lastest.cloud',cta:{names:[/submit your tool/i,/submit/i,/analy[sz]e/i,/continue/i,/^next$/i]}}];
  const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
  const settle = () => page.waitForLoadState('networkidle', { timeout: 12000 }).catch(() => {});
  const acceptCookies = async () => { const b = page.getByRole('button', { name: /accept|allow all|got it|agree|ok$/i }).first(); if (await b.isVisible().catch(() => false)) await b.click().catch(() => {}); };
  const dismissModal = async () => { const b = page.getByRole('button', { name: /skip|dismiss|maybe later|not now|got it|close|^continue$|set up manually/i }).first(); if (await b.isVisible().catch(() => false)) await b.click({ timeout: 2500 }).catch(() => {}); };

  // ── Public phase ──
  stepLogger.log('Scenario 1: Homepage');
  await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
  await acceptCookies(); await settle();
+63 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
38.01%
Text
—
DOM
✓
Network
+14 −7
Console
✓
A11y
—
Perf
14 over
URL
✓
Variables
—
Full report
Log in →
46,128
Diff px
46s
Duration
—
Accessible
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

FeedbackQueue is a structured peer-review exchange for indie hackers. Onboarding is a single 'paste your product URL' step that auto-crawls the landing page and drafts a full project profile (name, description, category, stage, tagline) PLUS a scored readiness gauge (94/100) with WORKING / FIX NEXT / ASK REVIEWERS guidance — before you fill a single field.

Highlights
  • URL-to-profile autodraft
    Paste a link and you instantly get a pre-filled project profile and a landing-page score. It removes the blank-form friction every other review tool starts with — a genuinely strong first-run moment.
  • Rubric shown before signup
    The /register page states the 5-category scored rubric and 'AI quality gate ensures useful reviews' upfront, so contributors know reviews are structured, not drive-by.
Friction points
  • /signup redirects to /login
    Guessing /signup lands on /login?callbackUrl=/signup (the real register link is /register). A visitor typing /signup from memory hits the sign-in form. A redirect /signup -> /register is a one-line fix.

3 visual changes

Step 11,145 px changed
Before
Before
After
After
Diff
Diff
Step 39,370 px changed
Before
Before
After
After
Diff
Diff
Step 635,613 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
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 feedbackqueue.dev — 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.