Recording of the visual regression run on www.bocabla.com · Bocabla — authed app walkthrough.

In this video· click a step to jump to it

W
Passed ✓

Test recording

Bocabla — authed app walkthrough

96,964 ms · 78,992 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const ENTRY = "/dashboard/learn/stage/foundation";
  const MAXROUTES = 6;
  const INTERACTIONS = [{"goto":"/dashboard/practice","dismissModal":true,"click":{"name":"practice vocabulary|^vocabulary|flashcards"},"waitMs":3500,"shot":"vocab-flashcards"},{"goto":"/dashboard/practice","dismissModal":true,"click":{"name":"practice conjugations|^conjugations"},"waitMs":3500,"shot":"conjugation-practice"}];
  const shot = (n, s) => screenshotPath.replace('.png', '-' + n + '-' + s + '.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, 350)); await anim(max, 0, 800); })()";

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

Checks run

Run
✓
Visual
8.95%
Text
—
DOM
✓
Network
+180 −180
Console
✓
A11y
A
Perf
✓
URL
✓
Variables
—
Full report
Log in →
78,992
Diff px
1m 37s
Duration
A
Accessible
WCAG 2.2 · 95
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

Bocabla is a polished Spanish-learning app built around FSRS spaced repetition. After picking a monthly challenge (Easy/Medium/Hard), the Foundation stage renders as a game-like checkpoint map (Niveles 1-60) with per-skill mastery %, and a Practice zone lets you drill vocabulary (CEFR A1-C2) or conjugations on demand. Nav spans Learn, Practice, Ranking, Network, Profile, Settings.

Highlights
  • Game-like learning spine
    The Foundation checkpoint map (12 checkpoints, vocab/grammar/production/threshold % per level) gives a clear, motivating progression.
  • On-demand Practice zone
    Separate from the course path, /dashboard/practice lets you choose vocabulary (CEFR-levelled A1-C2) or conjugation drills any time — a strong retention surface.
  • Sharp wedge
    FSRS spaced repetition positioned explicitly against Duolingo ('88% retention with 30% fewer reviews') is a crisp differentiator.
Friction points
  • Monthly-challenge popup gates the map
    A 'Choose Your Monthly Challenge' modal blocks the Foundation map until you pick a level; the 'Choose a level to continue' button only enables after a radio is selected (easy to miss). Once chosen it doesn't reappear.
  • Bare /dashboard 404s
    Navigating to /dashboard directly returns a 404; the real entry is /dashboard/learn/stage/foundation. A redirect would help deep-linkers.
Couldn't reach
  • /dashboard·Returns 404; real authed entry is /dashboard/learn/stage/foundation

4 visual changes

Step 24,481 px changed
Before
Before
After
After
Diff
Diff
Step 565,995 px changed
Before
Before
After
After
Diff
Diff
Step 67,186 px changed
Before
Before
After
After
Diff
Diff
Step 71,330 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
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,262 test runs recorded · 1,161 products tested with Lastest

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