Recording of the visual regression run on buildinpublic.com · Build in Public — builder directory walkthrough.

In this video· click a step to jump to it

B
Passed

Test recording

Build in Public — builder directory walkthrough

89,884 ms · 1,650,934 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against buildinpublic.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 PROFILE = '/x/lastestcloud';
  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' });
  await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
  await page.route('**/*sentry-cdn.com/**', function (r) { r.abort(); }).catch(function () {});

  // ── Scenario 1 — signed-in home with member banner ────────────────────────
  stepLogger.log('Scenario 1: Signed-in home (member banner)');
  await page.goto(baseUrl + '/', { waitUntil: 'domcontentloaded' });
+105 more lines claim the test to get the full code.

Checks run

Run
Visual
100.00%
Text
DOM
Network
+55 −55
Console
A11y
B
Perf
374 over
URL
Variables
Full report
Log in →
1,650,934
Diff px
1m 30s
Duration
B
Accessible
WCAG 2.2 · 87
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

We signed in with X, landed as member no. 08912, then used the directory the way a builder would: searched it, filtered to a country, browsed the cities index, and filled in our own profile with a name, bio, location and website. The X-only login is the right call for this audience — one click, no password, and the handle you're claiming is the handle you already build under. The profile edit form is small and does exactly what it says: four fields, a 0/160 bio counter, and 'Links become clickable automatically' written where you need to read it.

Highlights
  • One-click X login fits the audience
    No email, no password, no confirm step. For a directory keyed on X handles, OAuth isn't just convenient — it's the thing that makes the handle trustworthy.
  • Location does real work
    The edit form explains why it wants your location ('puts you on the city and country pages, so builders near you can find you') instead of just asking. Country filter and the cities index then pay that promise off immediately.
  • The join moment is concrete
    'MEMBER NO. 08912. You're in, @lastestcloud' with the profile URL right there beats a generic welcome — it makes a 6,963-row directory feel like something you're now inside of.
Friction points
  • A fresh profile is flagged 'Reduced visibility'
    The badge shows on your own profile with no explanation of what triggered it or how to clear it. One line of hover text ('low recent #buildinpublic activity on X') would turn a worrying label into a to-do.
  • Every profile's main panel says 'Coming soon'
    'Build in Public stats and activity will show up here' occupies the largest block on the page you're asking people to claim and share. Until stats land, showing recent X build-posts there would make a claimed profile worth linking to.

7 visual changes

Step 1859,004 px changed
Before
Before
After
After
Diff
Diff
Step 2358,636 px changed
Before
Before
After
After
Diff
Diff
Step 35,562 px changed
Before
Before
After
After
Diff
Diff
Step 4410,752 px changed
Before
Before
After
After
Diff
Diff
Step 55,966 px changed
Before
Before
After
After
Diff
Diff
Step 69,079 px changed
Before
Before
After
After
Diff
Diff
Step 71,935 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.
56,767 test runs recorded · 1,011 products tested with Lastest

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