Recording of the visual regression run on baton.hustleworld.app · Baton — app walkthrough.

In this video· click a step to jump to it

B
Passed

Test recording

Baton — app walkthrough

103,240 ms · 152,465 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36';
  await page.context().setExtraHTTPHeaders({ 'User-Agent': UA }).catch(() => {});
  for (const pat of [
    '**/cdn-cgi/scripts/**/email-decode.min.js',
    '**/browser.sentry-cdn.com/**',
    '**/cdn.segment.com/**',
    '**/connect.facebook.net/**',
    '**/www.googletagmanager.com/**',
    '**/static.hotjar.com/**',
  ]) { await page.route(pat, r => r.abort()).catch(() => {}); }
+96 more lines claim the test to get the full code.

Checks run

Run
Visual
42.55%
Text
DOM
Network
+1656 −1368
Console
A11y
A
Perf
840 over
URL
540 diverged
Variables
Full report
Log in →
152,465
Diff px
1m 43s
Duration
A
Accessible
WCAG 2.2 · 90
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

We signed up for Baton, skipped the Drive connect, created a real project (Riverside Solar Farm — Phase 2, 450 kW, Bristol) and walked the whole workspace: dashboard, Project Hub, the project record, Team, Settings and Billing. The thing that stands out is how hard your product works to keep the field crew out of the account system — the six-digit project code on the project page, and the Team page explicitly listing 'who does not need an account', is a genuinely unusual and confident piece of product design for this category.

Highlights
  • The six-digit crew code is the whole pitch, on one screen
    Your project page ends with 'Share the code with the crew' and six big digits. No install, no seat, no login for the people actually holding the phone. That single panel explains the product better than the landing page does.
  • Team page sells the seat model instead of hiding it
    'Who does not need an account' — field crew and handover recipient — pre-empts the exact objection an EPC office manager would raise about per-seat pricing. Most tools bury this in a pricing FAQ.
  • Empty states name the next action
    'Create your first project above, then share its code with the crew on site' and 'Nameplate photos taken on site appear here' tell a first-time visitor what the populated state will look like. Our walk never hit a dead-end blank panel.
  • Handover format asks the right question early
    The 'where you say Manufacturer, they might say Panel Brand' framing on the project page turns a boring column-mapping feature into something an EPC immediately understands.
Friction points
  • Capacity unit silently rescales after save
    We typed 450 into 'Project capacity' with the field suffixed 'kW', but the saved project header reads '0.5 MWp'. The input says kW and the record says MWp, so 450 became 0.5 — correct maths, but a user checking their own data will read it as wrong. Worth echoing the unit on save, or letting people pick kW/MWp on the form.
  • Onboarding restarts from step 1 on reload
    Reloading mid-wizard put us back at 'What's your company name?' rather than resuming at the Drive step. One-line fix: persist the wizard step with the workspace record.
Couldn't reach
  • /connect-drive·Skipped the Google Drive OAuth — we don't connect third-party accounts on a founder's behalf. Handover generation is the part that needs it.

12 visual changes

Step 128,334 px changed
Before
Before
After
After
Diff
Diff
Step 216,548 px changed
Before
Before
After
After
Diff
Diff
Step 36,984 px changed
Before
Before
After
After
Diff
Diff
Step 47,189 px changed
Before
Before
After
After
Diff
Diff
Step 5353 px changed
Before
Before
After
After
Diff
Diff
Step 64,920 px changed
Before
Before
After
After
Diff
Diff
Step 7139 px changed
Before
Before
After
After
Diff
Diff
Step 84,297 px changed
Before
Before
After
After
Diff
Diff
Step 94,318 px changed
Before
Before
After
After
Diff
Diff
Step 10476 px changed
Before
Before
After
After
Diff
Diff
Step 1139,362 px changed
Before
Before
After
After
Diff
Diff
Step 1239,545 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,708 test runs recorded · 988 products tested with Lastest

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