Recording of the visual regression run on dcyde.app · Dcyde — app walkthrough.

In this video· click a step to jump to it

D
Passed ✓

Test recording

Dcyde — app walkthrough

90,862 ms · 1,927,077 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against dcyde.app. 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 join = (b, p) => p.startsWith('http') ? p : (b.replace(/\/$/, '') + (p.startsWith('/') ? p : '/' + p));
  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 routeBlock = async (p) => { for (const pat of ['**/cdn-cgi/scripts/**/email-decode.min.js','**/sentry-cdn.com/**','**/browser.sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**','**/*posthog*']) { await p.route(pat, r => r.abort()).catch(function(){}); } };
  await routeBlock(page);
  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' });
  let n = 1;

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

Checks run

Run
✓
Visual
100.00%
Text
—
DOM
✓
Network
+2850 −1500
Console
✓
A11y
A
Perf
60 over
URL
30 diverged
Variables
—
Full report
Log in →
1,927,077
Diff px
1m 31s
Duration
A
Accessible
WCAG 2.2 · 92
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

Dcyde is a clean 'shared memory for decisions' for teams. Sign-in is a Firebase email magic-link; the app opens on a Rooms hub, and the seeded Example: Product & Design Team room is a genuinely convincing decision log, dozens of real-looking entries ('Switched from REST to GraphQL', 'Auth: magic link instead of password', 'Bottom tabs replace hamburger') each with an author, date and topic tags you can follow. Creating a room and pinning a decision are both one or two clicks.

Highlights
  • The seeded example room sells the product
    Instead of an empty state, new users land on a populated decision feed with realistic entries, authors, dates and followable topics (Design System, Auth, Backend). It communicates the value proposition faster than any onboarding copy could.
  • Decisions are topic-taggable and filterable
    Each decision carries topic chips and the feed supports filtering, so 'why did we decide X' stays findable, which is exactly the pain the product targets.
Friction points
  • Deep links to non-routes hit a friendly-but-dead 'Lost?' page
    Settings lives behind a header button rather than a real route, so navigating to /settings (a natural guess from muscle memory) lands on the 'Lost? Even the best teams take wrong turns' page. Adding a redirect or a real /settings route would remove a small dead-end.
  • Rooms can be created with duplicate names silently
    Creating several rooms all named the same thing succeeds without a nudge; a soft 'you already have a room called X' hint would keep the hub tidy for busy teams.

5 visual changes

Step 284,071 px changed
Before
Before
After
After
Diff
Diff
Step 3297,160 px changed
Before
Before
After
After
Diff
Diff
Step 792,673 px changed
Before
Before
After
After
Diff
Diff
Step 9888,436 px changed
Before
Before
After
After
Diff
Diff
Step 10564,737 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,525 test runs recorded · 1,174 products tested with Lastest

This test was built for dcyde.app — 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.