Recording of the visual regression run on app.satquests.com · SatQuest — app walkthrough.

In this video· click a step to jump to it

A
Passed ✓

Test recording

SatQuest — app walkthrough

67,318 ms · 232,525 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const CFG = {"appEntry":"/","publicMaxNav":0,"fullPage":true,"steps":[{"goto":"/","dismiss":true,"waitMs":3000,"label":"welcome-back"},{"clickText":"CONTINUE QUEST","waitMs":3000,"label":"quest-map"},{"clickText":"WALLET","waitMs":2500,"label":"lightning-wallet"},{"clickText":"RANKS","waitMs":2500,"label":"global-rankings"},{"clickText":"YOU","waitMs":2500,"label":"player-profile"},{"clickText":"Edit avatar","waitMs":2500,"label":"edit-character-avatar"},{"clickText":"QUEST","waitMs":2200,"label":"quest-map-journey"},{"clickText":"WALLET","waitMs":2000,"label":"sats-to-earn"}]};
  const shot = function(i, s){ return screenshotPath.replace('.png', '-' + i + '-' + s + '.png'); };
  page.setDefaultTimeout(6000);
  // single combined noise-abort route (1 action instead of ~10)
  await page.route(function(u){ return /sentry|segment\.com|googletagmanager|google-analytics|hotjar|posthog|connect\.facebook|cdn-cgi\/scripts/.test(u.toString()); }, function(r){ r.abort().catch(function(){}); }).catch(function(){});
  let n = 1;
  const FP = CFG.fullPage !== false;
  const GOTO = 11000;
  const wait = function(ms){ return page.waitForTimeout(ms||500); };
  const dismiss = async function(){ const d = page.getByRole('button', { name: /skip|dismiss|maybe later|not now|got it|close|no thanks|continue|get started/i }).first(); if (await d.isVisible().catch(function(){return false;})) { await d.click({ timeout:2000 }).catch(function(){}); await wait(400); } };
  const clickByText = function(src){ return page.evaluate(function(s){
+55 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
66.19%
Text
—
DOM
✓
Network
—
Console
✓
A11y
A
Perf
120 over
URL
✓
Variables
—
Full report
Log in →
232,525
Diff px
1m 07s
Duration
A
Accessible
WCAG 2.2 · 98
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

SatQuest turns learning Bitcoin into a Duolingo-style quest map: pick a handle and a character (no email, no password, no captcha — a device-keyed local-first account), then travel a 3D map of 'vaults', each a lesson worth points that convert 1:1 to real Lightning sats. The shell has Quest / Wallet / Ranks / You tabs, a global leaderboard, and a 12-word recovery-phrase wallet backup.

Highlights
  • Frictionless gamified signup
    Handle + character only — the cleanest onboarding in this batch. A learner is on the quest map in seconds with zero personal data collected.
  • Real-sats incentive
    Points map 1:1 to mainnet Lightning sats (167 total to earn shown up front), and the wallet/recovery-phrase model makes the reward feel real rather than a vanity score.
  • Social proof via leaderboard
    A live global ranking (59 players, top finishers by levels cleared) gives the solo learning loop a competitive pull.
Friction points
  • Quest map is a single canvas
    The map is one full-viewport canvas, so individual lesson vaults are not reachable by keyboard or screen reader and cannot be deep-linked — an accessibility and shareability gap.
  • Local-first means device-bound
    Without saving the 12-word recovery phrase, clearing the browser wipes progress; the backup prompt is present but easy to skip.

9 visual changes

Step 129,181 px changed
Before
Before
After
After
Diff
Diff
Step 22,151 px changed
Before
Before
After
After
Diff
Diff
Step 33,123 px changed
Before
Before
After
After
Diff
Diff
Step 442,488 px changed
Before
Before
After
After
Diff
Diff
Step 552,628 px changed
Before
Before
After
After
Diff
Diff
Step 640,354 px changed
Before
Before
After
After
Diff
Diff
Step 82,591 px changed
Before
Before
After
After
Diff
Diff
Step 941,516 px changed
Before
Before
After
After
Diff
Diff
Step 1018,493 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
a11y
WCAG AA
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,269 test runs recorded · 1,162 products tested with Lastest

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