Recording of the visual regression run on hamgpt.co · HAMgpt — app walkthrough.

In this video· click a step to jump to it

H
Passed ✓

Test recording

HAMgpt — app walkthrough

102,536 ms · 423,879 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against hamgpt.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 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, 300)); await anim(max, 0, 800); })()";

  const HAMGPT_TOKENS = {"id_token":"•••","access_token":"•••","refresh_token":"•••","expires_at":1784669461270};

  await page.addInitScript(function (t) { try { window.localStorage.setItem('hamgpt_tokens', t); } catch (e) {} }, JSON.stringify(HAMGPT_TOKENS));

  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' });
  for (const pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/www.googletagmanager.com/**', '**/*.posthog.com/**']) {
    await page.route(pattern, function (r) { r.abort().catch(function () {}); }).catch(function () {});
  }
+88 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
100.00%
Text
—
DOM
✓
Network
+0 −2934
Console
9 new
A11y
B
Perf
✓
URL
81 diverged
Variables
—
Full report
Log in →
423,879
Diff px
1m 43s
Duration
B
Accessible
WCAG 2.2 · 86
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

HAMgpt drops you straight into a chat copilot after a quick station-setup step, and the answers are genuinely domain-expert: real-time HF band conditions tailored to your license class and Maidenhead grid, with band-by-band reasoning. Quick-action chips (Quiz me, Plan an antenna, Is a band open?) remove the blank-page problem.

Highlights
  • Answers are personalized and live
    Asked which bands are open, the copilot cited the current solar flux (SFI 137), flagged 10m as open for a Technician at grid CM87, and rated 80m/40m/15m by daytime propagation. That is real personalization off the onboarding profile, not a generic reply.
  • Quick-action chips lower the barrier
    Home surfaces 'Quiz me', 'Plan an antenna' and 'Is a band open?' as one-tap prompts, so a new operator gets value without knowing what to type.
Friction points
  • Grid square gates the app
    Onboarding blocks entry until a Maidenhead grid is entered. A curious first-timer without one bounces. A 'use my location' default (already hinted) or a skip-with-defaults option would cut drop-off.
  • email_verified=false on Google identity
    The Google-federated Cognito identity carried email_verified:false in its ID token. Harmless here, but downstream logic that trusts that claim could mis-gate Google users. Worth a check in the Cognito attribute mapping.

9 visual changes

Step 144,542 px changed
Before
Before
After
After
Diff
Diff
Step 244,782 px changed
Before
Before
After
After
Diff
Diff
Step 351,934 px changed
Before
Before
After
After
Diff
Diff
Step 449,952 px changed
Before
Before
After
After
Diff
Diff
Step 544,829 px changed
Before
Before
After
After
Diff
Diff
Step 645,507 px changed
Before
Before
After
After
Diff
Diff
Step 747,273 px changed
Before
Before
After
After
Diff
Diff
Step 847,530 px changed
Before
Before
After
After
Diff
Diff
Step 947,530 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,604 test runs recorded · 1,174 products tested with Lastest

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