Recording of the visual regression run on app.fidmap.co · FIDMAP — app walkthrough.

In this video· click a step to jump to it

A
Passed ✓

Test recording

FIDMAP — app walkthrough

63,632 ms · 601,162 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against app.fidmap.co. 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 UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36';
  const BOARD = '/board/8d77030d-1949-48d7-a2c1-829d098be34b';
  const STAMP = Date.now().toString(36);
  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, 1100); await new Promise(r => setTimeout(r, 250)); await anim(max, 0, 600); })()";

  await page.context().setExtraHTTPHeaders({ 'User-Agent': UA });
  for (const pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/www.googletagmanager.com/**', '**/google-analytics.com/**', '**/connect.facebook.net/**']) {
    await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
  }
+108 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
33.78%
Text
—
DOM
✓
Network
+28 −14
Console
✓
A11y
C
Perf
1876 drift
URL
✓
Variables
—
Full report
Log in →
601,162
Diff px
1m 04s
Duration
C
Accessible
WCAG 2.2 · 78
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We signed up for FIDMAP, created a workspace and a public board, filed five requests, voted, moved one to In progress, added roadmap items and shipped two changelog entries — then drove the whole thing end to end on camera. The product is complete in a way most week-one launches are not: board, roadmap and changelog all exist, all populate the dashboard, and the public portal URL is handed to you in Settings without extra setup. The pin/board metaphor is carried consistently through the copy ('drop a pin', 'chart the feedback') rather than being a logo-only theme.

Highlights
  • Signup to a usable workspace in two screens
    Name + email + password, then one workspace name. No email verification wall, no plan picker in the way. We were looking at a real dashboard about 40 seconds after landing on /register.
  • The dashboard actually aggregates
    Total/Open/In-progress/Completed counters, recent feedback, roadmap status counts and recent changelog all update from the same data. Nothing on it is a placeholder.
  • Public portal URL is given up front
    Settings shows https://lastest-demo.fidmap.co with Copy and Open next to it. Competitors usually bury this behind a domain-settings page.
  • Owner status control lives in the request itself
    Opening a request gives the owner the status dropdown inline, so triaging is one click from the board rather than a separate admin view.
Friction points
  • Signed-in owners are asked for their name and email before filing a request
    As the workspace owner, clicking 'New idea' shows 'One quick thing — just so we know who to credit — no account needed' and asks for name + email before the composer appears. The session already knows both. Skipping that step for authenticated users removes a whole screen from the most common action on the board.
  • The status dropdown silently ignores lowercase values
    Option values are OPEN/PLANNED/IN_PROGRESS while the visible labels are Open/Planned/In progress. Our first pass set the status by label-case and the control accepted it without error but did not change anything — worth a guard, because any integration or automation will hit this.
Couldn't reach
  • Delete board / delete request·Destructive; we never exercise delete paths on a founder's workspace

9 visual changes

Step 14,080 px changed
Before
Before
After
After
Diff
Diff
Step 33,390 px changed
Before
Before
After
After
Diff
Diff
Step 4219 px changed
Before
Before
After
After
Diff
Diff
Step 518,660 px changed
Before
Before
After
After
Diff
Diff
Step 615,320 px changed
Before
Before
After
After
Diff
Diff
Step 7178,561 px changed
Before
Before
After
After
Diff
Diff
Step 8180,131 px changed
Before
Before
After
After
Diff
Diff
Step 9180,242 px changed
Before
Before
After
After
Diff
Diff
Step 1020,559 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,275 test runs recorded · 1,164 products tested with Lastest

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