Recording of the visual regression run on www.postswift.co · PostSwift — app walkthrough.

In this video· click a step to jump to it

W
Passed ✓

Test recording

PostSwift — app walkthrough

23,800 ms · 113,331 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against www.postswift.co. 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 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, 1200); await new Promise(r => setTimeout(r, 300)); await anim(max, 0, 700); })()";

  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) { return r.abort(); }).catch(function () {});
  await page.route('**/*sentry-cdn.com/**', function (r) { return r.abort(); }).catch(function () {});

  let postLoginActions = 0;

  // --- 1. Authenticated publishing dashboard ------------------------------
  stepLogger.log('Publishing dashboard (authenticated landing)');
+97 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
81.53%
Text
—
DOM
✓
Network
—
Console
✓
A11y
B
Perf
1672 drift
URL
✓
Variables
—
Full report
Log in →
113,331
Diff px
24s
Duration
B
Accessible
WCAG 2.2 · 87
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We signed in with Google and drove the scheduler end to end: list and calendar views, the account panel, then the composer. Writing a post, previewing it, opening per-platform customisation and saving a draft all worked first time, and reopening that draft brought the text back intact. The composer is the strongest part of the product and it holds up under an agent driving it blind.

Highlights
  • Draft round-trip is solid
    Save Draft returns you straight to the Drafts queue, and Edit reopens the post with the body text intact. No lost work, no confirmation dance.
  • Composer opens in one click from anywhere
    New Post is in both the sidebar and the header, so there is no hunting for the primary action from any view.
Friction points
  • Brain Storage is a dead end in the main nav
    It sits in the sidebar between Short video maker and Connected Platforms, and clicking it renders only 'Something new is coming...'. A new user clicks it, gets nothing, and learns the nav is not trustworthy. Worth hiding behind a flag or badging it 'Soon'.
  • The composer's right half is empty until a platform is connected
    Post Previews stays on 'Select platforms to see post previews' for every brand-new account, so roughly 40% of the composer is dead space at exactly the moment someone is deciding whether to stay. A generic preview card would fill it.

11 visual changes

Step 113 px changed
Before
Before
After
After
Diff
Diff
Step 213 px changed
Before
Before
After
After
Diff
Diff
Step 313 px changed
Before
Before
After
After
Diff
Diff
Step 413 px changed
Before
Before
After
After
Diff
Diff
Step 513 px changed
Before
Before
After
After
Diff
Diff
Step 613 px changed
Before
Before
After
After
Diff
Diff
Step 713 px changed
Before
Before
After
After
Diff
Diff
Step 813 px changed
Before
Before
After
After
Diff
Diff
Step 913 px changed
Before
Before
After
After
Diff
Diff
Step 103,545 px changed
Before
Before
After
After
Diff
Diff
Step 11109,669 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.
57,226 test runs recorded · 1,151 products tested with Lastest

This test was built for www.postswift.co — 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.