Recording of the visual regression run on Publishub — app walkthrough · Publishub — app walkthrough.

In this video· click a step to jump to it

?
Passed

Test recording

Publishub — app walkthrough

112,848 ms · 1,303 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const shot = (i, slug) => screenshotPath.replace('.png', '-' + i + '-' + slug + '.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); })()";
  const UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36";
  await page.context().setExtraHTTPHeaders({ 'User-Agent': UA });
  for (const pattern of ['**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/*.posthog.com/**', '**/googletagmanager.com/**', '**/google-analytics.com/**', '**/*.clarity.ms/**', '**/doubleclick.net/**']) {
    await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
  }
  const dismiss = async function () {
    for (const rx of [/^accept$/i, /accept all/i, /got it/i, /allow all/i, /^ok$/i, /skip for now/i, /maybe later/i, /^later$/i, /not now/i, /^close$/i, /^dismiss$/i]) {
      await page.getByRole('button', { name: rx }).first().click({ timeout: 1200 }).catch(function () {});
    }
+106 more lines claim the test to get the full code.

Checks run

Run
Visual
1.11%
Text
DOM
Network
+0 −11
Console
A11y
A
Perf
URL
Variables
Full report
Log in →
1,303
Diff px
1m 53s
Duration
A
Accessible
WCAG 2.2 · 96
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We created a Publishub account, confirmed it, and drove the signed-in workspace: New Analysis, pasting a Reel URL, My analyses, the Publishub Partners referral panel, the EN/PT/ES locale switch and the Lifetime plan detail. The pitch lands hard because the empty state teaches it - 'Send your first Reel' with a tiny retention curve showing exactly what a drop looks like, so a creator understands the output before uploading anything.

Highlights
  • The empty state sells the product
    'Send your first Reel' pairs the ask with a miniature retention chart captioned 'An example of how the drop shows up.' A creator sees the deliverable before committing a video - rare in a zero-state.
  • Referral is in the workspace, not a footer
    Publishub Partners sits on the dashboard with the link pre-filled and a 0/5 progress bar. Putting the ask where the user already is beats an email campaign.
  • Trilingual from the first screen
    EN/PT/ES switch in the sidebar and header, switching the whole workspace instantly - not a translated marketing page with an English app behind it.
Friction points
  • Cold start greets the first visitor
    On the first load of the day the dashboard renders 'Waking up the server...' before the workspace paints. The very first impression a new signup gets is a warming spinner - a keep-warm ping or an optimistic skeleton would hide it.
  • Lifetime plan is a one-way door
    'SEE THE LIFETIME PLAN' replaces the workspace with a full-page pricing view and no obvious way back other than the header - a modal or a back link would keep the evaluator in the product.

4 visual changes

Step 1269 px changed
Before
Before
After
After
Diff
Diff
Step 2239 px changed
Before
Before
After
After
Diff
Diff
Step 7269 px changed
Before
Before
After
After
Diff
Diff
Step 8526 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.
56,447 test runs recorded · 963 products tested with Lastest

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