Recording of the visual regression run on www.launchpact.io · LaunchPact — app walkthrough.

In this video· click a step to jump to it

W
Passed ✓

Test recording

LaunchPact — app walkthrough

64,387 ms · 9,043 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const SITE = baseUrl || 'https://www.launchpact.io';

  // Inline storage state (cookies + localStorage from a fresh registered account).
  // Workaround for setup-orchestrator bug where setupOverrides.extraSteps with
  // storage_state stepType is silently ignored when the repo has no default_setup_steps.
  const STATE = {"cookies": [{"name": "sb-kfouibjalzspdzcuwueu-auth-token", "value": "base64-eyJhY2Nlc3NfdG9rZW4iOiJleUpoYkdjaU9pSkZVekkxTmlJc0ltdHBaQ0k2SW1aak1tRXhZVEptTFRjNU9UQXROREF4WlMxaE5EWTJMVE14TWpVNVpqTTJaamRsWWlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKcGMzTWlPaUpvZEhSd2N6b3ZMMnRtYjNWcFltcGhiSHB6Y0dSNlkzVjNkV1YxTG5OMWNHRmlZWE5sTG1OdkwyRjFkR2d2ZGpFaUxDSnpkV0lpT2lJNE0yUTBNalEyTWkxaFlUVmtMVFEzTTJRdE9HTTFOQzFpTURCaVptSTNORGd6TWpVaUxDSmhkV1FpT2lKaGRYUm9aVzUwYVdOaGRHVmtJaXdpWlhod0lqb3hOemd3TVRZMk1qY3lMQ0pwWVhRaU9qRTNPREF4TmpJMk56SXNJbVZ0WVdsc0lqb2liR0Z6ZEdWemRHTnNiM1ZrSzJ4aGRXNWphSEJoWTNSdGNIRjNaMjE0WkVCbmJXRnBiQzVqYjIwaUxDSndhRzl1WlNJNklpSXNJbUZ3Y0Y5dFpYUmhaR0YwWVNJNmV5SndjbTkyYVdSbGNpSTZJbVZ0WVdsc0lpd2ljSEp2ZG1sa1pYSnpJanBiSW1WdFlXbHNJbDE5TENKMWMyVnlYMjFsZEdGa1lYUmhJanA3SW1WdFlXbHNJam9pYkdGemRHVnpkR05zYjNWa0syeGhkVzVqYUhCaFkzUnRjSEYzWjIxNFpFQm5iV0ZwYkM1amIyMGlMQ0psYldGcGJGOTJaWEpwWm1sbFpDSTZkSEoxWlN3aWNHaHZibVZmZG1WeWFXWnBaV1FpT21aaGJITmxMQ0p6ZFdJaU9pSTRNMlEwTWpRMk1pMWhZVFZrTFRRM00yUXRPR00xTkMxaU1EQmlabUkzTkRnek1qVWlmU3dpY205c1pTSTZJbUYxZEdobGJuUnBZMkYwWldRaUxDSmhZV3dpT2lKaFlXd3hJaXdpWVcxeUlqcGJleUp0WlhSb2IyUWlPaUp3WVhOemQyOXlaQ0lzSW5ScGJXVnpkR0Z0Y0NJNk1UYzRNREExTnpneU1IMWRMQ0p6WlhOemFXOXVYMmxrSWpvaU5qZzNOR0UxTWpFdFlqUmxNaTAwTkRObExUbGpNV1l0TlRSaVpUQXdPVFZpTVRjNElpd2lhWE5mWVc1dmJubHRiM1Z6SWpwbVlXeHpaWDAudnRvY2ZZYlpfd0tBcy1hV3NOSmgzcGNRUzFiLUdYNTZoclZIdm92bTJJcW5ueEdTYS1KWWgzU1UzRXBNdTdmSXRlQjQ2UUtVRFNqZFBoOUs5bmRRcHciLCJ0b2tlbl90eXBlIjoiYmVhcmVyIiwiZXhwaXJlc19pbiI6MzYwMCwiZXhwaXJlc19hdCI6MTc4MDE2NjI3MiwicmVmcmVzaF90b2tlbiI6InRhbXM2em1oMmdpdCIsInVzZXIiOnsiaWQiOiI4M2Q0MjQ2Mi1hYTVkLTQ3M2QtOGM1NC1iMDBiZmI3NDgzMjUiLCJhdWQiOiJhdXRoZW50aWNhdGVkIiwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJlbWFpbCI6Imxhc3Rlc3RjbG91ZCtsYXVuY2hwYWN0bXBxd2dteGRAZ21haWwuY29tIiwiZW1haWxfY29uZmlybWVkX2F0IjoiMjAyNi0wNS0yOVQxMjozMDoyMC44ODQxNzNaIiwicGhvbmUiOiIiLCJjb25maXJtZWRfYXQiOiIyMDI2LTA1LTI5VDEyOjMwOjIwLjg4NDE3M1oiLCJsYXN0X3NpZ25faW5fYXQiOiIyMDI2LTA1LTI5VDEyOjMwOjIwLjg5NjE4MVoiLCJhcHBfbWV0YWRhdGEiOnsicHJvdmlkZXIiOiJlbWFpbCIsInByb3ZpZGVycyI6WyJlbWFpbCJdfSwidXNlcl9tZXRhZGF0YSI6eyJlbWFpbCI6Imxhc3Rlc3RjbG91ZCtsYXVuY2hwYWN0bXBxd2dteGRAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwic3ViIjoiODNkNDI0NjItYWE1ZC00NzNkLThjNTQtYjAwYmZiNzQ4MzI1In0sImlkZW50aXRpZXMiOlt7ImlkZW50aXR5X2lkIjoiMDdmZjViNWMtNTEyNC00OGE2LTg0YTctNjdhMDU1YjUwNWY1IiwiaWQiOiI4M2Q0MjQ2Mi1hYTVkLTQ3M2QtOGM1NC1iMDBiZmI3NDgzMjUiLCJ1c2VyX2lkIjoiODNkNDI0NjItYWE1ZC00NzNkLThjNTQtYjAwYmZiNzQ4MzI1IiwiaWRlbnRpdHlfZGF0YSI6eyJlbWFpbCI6Imxhc3Rlc3RjbG91ZCtsYXVuY2hwYWN0bXBxd2dteGRAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwaG9uZV92ZXJpZmllZCI6ZmFsc2UsInN1YiI6IjgzZDQyNDYyLWFhNWQtNDczZC04YzU0LWIwMGJmYjc0ODMyNSJ9LCJwcm92aWRlciI6ImVtYWlsIiwibGFzdF9zaWduX2luX2F0IjoiMjAyNi0wNS0yOVQxMjozMDoyMC44NzQ4MjZaIiwiY3JlYXRlZF9hdCI6IjIwMjYtMDUtMjlUMTI6MzA6MjAuODc0ODhaIiwidXBkYXRlZF9hdCI6IjIwMjYtMDUtMjlUMTI6MzA6MjAuODc0ODhaIiwiZW1haWwiOiJsYXN0ZXN0Y2xvdWQrbGF1bmNocGFjdG1wcXdnbXhkQGdtYWlsLmNvbSJ9XSwiY3JlYXRlZF9hdCI6IjIwMjYtMDUtMjlUMTI6MzA6MjAuODA3NTk5WiIsInVwZGF0ZWRfYXQiOiIyMDI2LTA1LTMwVDE3OjM3OjUwLjY2MDYzWiIsImlzX2Fub255bW91cyI6ZmFsc2V9fQ", "domain": "www.launchpact.io", "path": "/", "expires": 1814722672, "httpOnly": false, "secure": false, "sameSite": "Lax"}], "origins": [{"origin": "https://www.launchpact.io", "localStorage": [{"name": "launchpact:ga_client_id", "value": "223020809.1780039196"}]}]};

  // Block third-party noise so console-error mode doesn't false-fail us.
  await page.route('**/*', (route) => {
    const u = route.request().url();
    if (/cloudflareinsights|cdn-cgi\/scripts\/.*\/cloudflare-static\/email-decode|googletagmanager|google-analytics|hotjar|posthog|segment|fullstory/.test(u)) {
+146 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
6.95%
Text
—
DOM
✓
Network
+27 −9
Console
✓
A11y
—
Perf
✓
URL
✓
Variables
—
Full report
Log in →
9,043
Diff px
1m 04s
Duration
—
Accessible
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

LaunchPact's marketing site nails the founder-network pitch with a strong hero ("Launch today. Get upvoted. Shine together."), an unusually clean 5-step explainer, and an FAQ that pre-empts the cynical reader. Inside the app, the registration is a single short form that drops you straight onto a working dashboard with a real launch feed (15 upcoming launches on day one, pact requests, trust score), and the standout product moment is /launches/new: paste any URL and the site fetches a screenshot + AI-drafted name, tagline, description, and category in under a minute. Zero forms-from-scratch, which is the right call for a launch-day tool aimed at builders short on time.

Highlights
  • Zero-form launch authoring
    Paste a URL and the site scans it, drafts a name, tagline, description, screenshot, and category. The auto-imported draft for app.lastest.cloud was usable as-is, just needing a date. This is the kind of friction-reducer launch-prep tools are usually missing.
  • Real feed on day one
    /feed shows 15 actual upcoming launches (Typeroid, Agentline, InkieAI, TableAI, Second Brain Cloudflare). A demo product on launch day usually has empty states everywhere; LaunchPact already has a live network.
  • Trust score as a first-class concept
    New user dashboard shows Trust Score 50/100 with "New" badge and a clear path to grow it. Trust system explained on the marketing page is reinforced inside the product, not buried in a help doc.
  • Crisp FAQ on PH mechanics
    Specific numbers ("500-1,200 quality-weighted upvotes for Product of the Day in 2026") + honest stance on bought-upvotes. Reads like a founder's blog post, not legal copy.
Friction points
  • Signup form has a Google OAuth button right above Create account
    Visually the order is: Continue with Google, divider, Email, Password, Create account. An evaluator using a password manager can accidentally land on the Google button first. Re-ordering or a slightly heavier divider would help.
  • Dashboard zero-state could lead harder with Create Launch
    Both Create Launch and Browse & back launches share the same hero. Create Launch is the higher-intent flow for a new founder; making it the primary CTA might convert more first-session activations.
  • Scan site needs a clearer in-progress signal
    Between clicking Scan site and the draft appearing there is roughly 10 seconds with no progress indicator. The page just sits on the empty form. A skeleton or progress bar showing what is being fetched (screenshot, copy, category) would reduce "did I click it?" anxiety.
Couldn't reach
  • /pricing·Free during MVP — pricing page reiterates the free tier from /signup. Skipped to keep the public walk to 3 highest-signal pages.
  • /launches/new (publish)·Did not click Publish launch. Creating a real public launch entry under the founder's app would pollute their feed; test stops at the populated draft state.

5 visual changes

Step 1332 px changed
Before
Before
After
After
Diff
Diff
Step 6552 px changed
Before
Before
After
After
Diff
Diff
Step 7552 px changed
Before
Before
After
After
Diff
Diff
Step 8552 px changed
Before
Before
After
After
Diff
Diff
Step 97,055 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,568 test runs recorded · 1,174 products tested with Lastest

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