Recording of the visual regression run on writing-memo.app · MeMo — app walkthrough.

In this video· click a step to jump to it

W
Passed

Test recording

MeMo — app walkthrough

120,036 ms · 8,897 pixels changed

We built this regression test for writing-memo.app — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against writing-memo.app. 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`);

  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' });
  await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
  await page.route('**/connect.facebook.net/**', function (r) { r.abort(); }).catch(function () {});

  // ── Step 1: public marketing home (context) ─────────────────────────────
  stepLogger.log('Step 1: Public marketing home');
  await page.goto(baseUrl + '/?lang=en', { waitUntil: 'domcontentloaded' });
  await page.waitForLoadState('networkidle', { timeout: 2500 }).catch(function () {});
  await page.locator('h1, main').first().waitFor({ state: 'visible', timeout: 12000 }).catch(function () {});
+88 more lines claim the test to get the full code.

Checks run

Run
Visual
15.03%
Text
DOM
Network
+39 −39
Console
A11y
B
Perf
104 drift
URL
Variables
Full report
Log in →
8,897
Diff px
2m 00s
Duration
B
Accessible
WCAG 2.2 · 88
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We signed into writing-memo.app with Google, created a note, and walked all five signed-in panes (Files, Chat, Search, Trash, Account) plus both editor modes. Thirteen steps recorded. The two-workflow idea holds up in practice: Chat really is lower friction than Files for a half-formed thought, and switching between them costs one click rather than a context change.

Highlights
  • Chat and Files are genuinely different tools
    Chat posts a timestamped entry with Cmd+Enter and never asks for a title. Files gives an outliner and Markdown. Most note apps ship one of these and bolt the other on.
  • Rich text and Markdown are the same document
    Toggling Markdown kept the content and the cursor. No export step, no second copy to drift out of sync.
  • Autosave says so
    A quiet 'Saved' next to the mode toggle after each edit. We appended a line and watched it flip without a spinner or a toast.
  • Google sign-in sidesteps the captcha entirely
    The email form is Turnstile-gated but Continue with Google is not, so the fastest path in is also the one with the least friction.
Friction points
  • New notes stay 'Untitled note' with no reachable title field
    Our note kept the default title through the whole session; the heading is not an editable input and no rename control surfaced in Files. With more than a handful of notes the sidebar becomes a list of identical labels. Making the heading click-to-edit, or deriving the title from the first line, fixes it.
  • The email signup path is captcha-gated where Google is not
    Cloudflare Turnstile sat unresolved on the email form in our session, so that route never completed. Anyone who prefers not to use Google gets the slower, more fragile door.

5 visual changes

Step 11,061 px changed
Before
Before
After
After
Diff
Diff
Step 21,061 px changed
Before
Before
After
After
Diff
Diff
Step 31,061 px changed
Before
Before
After
After
Diff
Diff
Step 42,857 px changed
Before
Before
After
After
Diff
Diff
Step 52,857 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.
56,846 test runs recorded · 1,040 products tested with Lastest

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