Recording of the visual regression run on offermax.me · offermax — app walkthrough.

In this video· click a step to jump to it

O
Passed ✓

Test recording

offermax — app walkthrough

116,420 ms · 23,440 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  await page.addInitScript((data) => { try { for (const k in data) localStorage.setItem(k, data[k]); } catch(e){} }, {"resume_app_sources": "[]", "resume_pdf_filename_settings": "{}", "resume_app_template": "\"modern\"", "resume_app_documents": "[]", "resume_app_token": "•••", "resume_app_user_id": "fdc309ab-38ae-478a-84a4-75cc5bcfe30b", "tour_seen_fdc309ab-38ae-478a-84a4-75cc5bcfe30b_dashboard": "1", "resume_app_sections": "{\"awards\":false,\"skills\":true,\"contact\":true,\"courses\":false,\"patents\":false,\"summary\":true,\"projects\":true,\"education\":true,\"interests\":false,\"languages\":false,\"experience\":true,\"testScores\":false,\"publications\":false,\"volunteering\":false,\"certifications\":false}"});
  const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
  async function settle() {
    await page.waitForLoadState('networkidle').catch(function () {});
    await page.locator('h1, h2, main, [role="main"]').first().waitFor({ state: 'visible', timeout: 6000 }).catch(function () {});
    await page.waitForTimeout(500);
  }
  async function routeBlock() {
    const pats = ['**/cdn-cgi/scripts/**/email-decode.min.js','**/sentry-cdn.com/**','**/browser.sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**','**/*.google-analytics.com/**'];
    for (const p of pats) { await page.route(p, r => r.abort()).catch(function () {}); }
  }
+87 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
2.77%
Text
—
DOM
✓
Network
+224 −248
Console
✓
A11y
A
Perf
184 over
URL
64 diverged
Variables
—
Full report
Log in →
23,440
Diff px
1m 56s
Duration
A
Accessible
WCAG 2.2 · 100
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

We signed into Offer Max and walked the whole job-hunt cockpit: a warm 'Good afternoon' dashboard with a clear 'Your story starts here → Generate your first resume' empty-state, plus Generate, Editor and Interview Prep in the top nav. We drove the two primary interactions — pasting a Senior Frontend Engineer JD into the resume generator and a PM role into Interview Prep — so the recording shows the product being used the way a job-seeker actually would, not just nav clicks.

Highlights
  • Guided empty-state
    The zero-state doesn't just sit blank — it names exactly what tracking begins once you generate (applications sent, interviews won, top companies, daily streak). It tells a first-timer what the product will become for them.
  • Tight three-verb nav
    Generate / Editor / Interview Prep is the entire top nav — the product resists feature-sprawl and keeps the job-hunt loop to three obvious moves.
Friction points
  • Profile-gate on deep links
    Hitting an in-app route before the profile is filled shows a 'Let's finish setting up first — redirecting to onboarding' interstitial; a returning user deep-linking from an email can bounce through it. A soft banner over the target page would be smoother than a full redirect.
  • Session stored only in localStorage
    Auth lives in a localStorage Supabase token rather than a cookie, so any tool/tab that starts a fresh context (or an evaluator like us) reads as logged-out until the token is present — worth mirroring the session to an HttpOnly cookie for resilience.

3 visual changes

Step 123,406 px changed
Before
Before
After
After
Diff
Diff
Step 426 px changed
Before
Before
After
After
Diff
Diff
Step 58 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
tests
all passing
a11y
WCAG AA
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 offermax.me — 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.