Recording of the visual regression run on gatherly.space · gatherly — app walkthrough.

In this video· click a step to jump to it

G
Passed ✓

Test recording

gatherly — app walkthrough

24,206 ms · 0 pixels changed · matches baseline

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

Take this test with you

This is a real Playwright test, recorded against gatherly.space. 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 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); })()";

  const LS = {"sb-zidfnrttknwjasdrqpgc-auth-token": "•••"};
  await page.addInitScript((ls) => { try { for (const k in ls) { window.localStorage.setItem(k, ls[k]); } } catch (e) {} }, LS);
  for (const pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**']) {
    await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
  }

  let n = 0;
  const settle = async () => { await page.waitForLoadState('networkidle').catch(function () {}); await page.locator('input, h1, main').first().waitFor({ state: 'visible', timeout: 10000 }).catch(function () {}); await page.waitForTimeout(1200); };
+85 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
✓
Text
—
DOM
✓
Network
—
Console
✓
A11y
A
Perf
—
URL
✓
Variables
—
Full report
Log in →
0
Diff px
24s
Duration
A
Accessible
WCAG 2.2 · 91
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We signed up for Gatherly (instant, no email-verify) and walked the whole thing. You type what you're doing right now, hit Enter, and get dropped into an ephemeral live-chat room with others doing something similar — "no photos, no names, no history". The room has a focus-timer (20/50/90m), a fading live chat, a leave button, and a "🎲 just drop me anywhere" wildcard. It's a tight, single-purpose product with almost zero onboarding friction.

Highlights
  • Signup-to-value in one screen
    Registration auto-signs you in straight to /app with no verification wall — you're typing your first activity within seconds, which is exactly right for an impulse-driven social product.
  • Ephemeral-by-design is on-brand
    The room states its rules up front ("fades after a minute · no names · no history") and even offers focus timers, so the privacy promise is felt in the UI, not just claimed on the landing page.
Friction points
  • Activity text carries into the chat box
    On joining a room the chat input is pre-populated with your activity string; clearing it on room-entry would avoid an accidental first message repeating what you typed to match.
  • "just you" empty rooms need a nudge
    Matching on a niche activity can drop you into a room alone ("just you"); a gentle "we'll ping you when someone joins" or a broader-match fallback would soften the empty-room moment.

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,525 test runs recorded · 1,174 products tested with Lastest

This test was built for gatherly.space — 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.