Recording of the visual regression run on openchapter.io · OpenChapter — app walkthrough.

In this video· click a step to jump to it

O
Passed ✓

Test recording

OpenChapter — app walkthrough

78,236 ms · 0 pixels changed · matches baseline

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

Take this test with you

This is a real Playwright test, recorded against openchapter.io. 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, s) => screenshotPath.replace('.png', `-${n}-${s}.png`);
  const ORIGIN = new URL("https://openchapter.io/dashboard/saved").origin;
  page.setDefaultTimeout(8000);
  page.setDefaultNavigationTimeout(22000);
  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' }).catch(function(){});
  // block heavy third-party noise: speeds networkidle + removes console-error reds
  for (const pat of ['**/client.crisp.chat/**','**/widget.intercom.io/**','**/*.intercomcdn.com/**','**/js.stripe.com/**','**/*.sentry-cdn.com/**','**/*.sentry.io/**','**/cdn.segment.com/**','**/*.hotjar.com/**','**/*.fullstory.com/**','**/connect.facebook.net/**','**/googletagmanager.com/**','**/google-analytics.com/**','**/cdn-cgi/scripts/**/email-decode.min.js']) {
    await page.route(pat, function(r){ r.abort().catch(function(){}); }).catch(function(){});
  }
  // Scenario 1: public hero
  await page.goto("https://openchapter.io/", { waitUntil: 'domcontentloaded' });
+61 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
✓
Text
—
DOM
✓
Network
+78 −65
Console
✓
A11y
B
Perf
13 drift
URL
✓
Variables
—
Full report
Log in →
0
Diff px
1m 18s
Duration
B
Accessible
WCAG 2.2 · 83
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

OpenChapter (formerly SquarePages) is a free public-domain eBook library. A free account unlocks a personal dashboard - Liked Books, Book History, custom Bookshelves, and send-to-Kindle - on top of a catalog browsable by category, Top Books, and New Books. Registration auto-signs you in with no email-verification gate, so a new reader is one form away from saving and organizing books.

Highlights
  • Instant auto-session on signup
    Creating an account logs you straight into the dashboard with no email-verify wall - the fastest possible path from 'sign up' to 'use the product', which is increasingly rare in 2026.
  • The free-account value is spelled out up front
    The register page lists exactly what an account unlocks (send-to-Kindle, custom bookshelves, reading list) instead of a generic 'create account' - good expectation-setting.
  • Catalog is fully browsable pre-auth
    Discover, Top Books, New Books and every category are open without an account, so readers can evaluate the library before committing - then the account adds the personal layer on top.
Friction points
  • /dashboard lands on Account settings
    The dashboard root is an 'Account Information' settings page (with password fields) rather than a reading-focused home; a new user expects their library, not a settings form, as the first authenticated screen.
  • Rebrand banner + cookie dialog crowd first paint
    The 'SquarePages is now OpenChapter' banner persists on every page (including authenticated ones) and a cookie dialog overlaps the hero on first load - both eat vertical space above the catalog.

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,761 test runs recorded · 1,174 products tested with Lastest

This test was built for openchapter.io — 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.