Recording of the visual regression run on www.clauseapp.space · Clause — app walkthrough.

In this video· click a step to jump to it

W
Passed ✓

Test recording

Clause — app walkthrough

88,551 ms · 186,423 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against www.clauseapp.space. 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 snap = async function (n, s, label) {
    try { await page.waitForLoadState('networkidle', { timeout: 6000 }).catch(function(){}); } catch (e) {}
    await page.waitForTimeout(800);
    await page.screenshot({ path: shot(n, s), fullPage: true }).catch(function(){});
    stepLogger.log('shot ' + n + ' ' + label);
  };
  const go = async function (path) {
    var rr = await page.goto(baseUrl + path, { waitUntil: 'domcontentloaded' }).catch(function(){ return null; });
    await page.waitForTimeout(1500);
    return rr;
+42 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
49.44%
Text
—
DOM
✓
Network
+225 −180
Console
✓
A11y
A
Perf
117 over
URL
✓
Variables
—
Full report
Log in →
186,423
Diff px
1m 29s
Duration
A
Accessible
WCAG 2.2 · 93
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

Clause turns any freelance contract into a plain-English risk report. Paste a contract (or try a built-in example like 'Perpetual Non-Compete') and it flags each risky clause by severity, explains the risk in plain language, and — the standout — offers a green 'suggested rewrite' for each one. Signup is email+password; the authed dashboard keeps a history of your scans under 'Your Scans'.

Highlights
  • Findings come with fixes
    Each flagged clause gets a plain-English risk explanation AND a suggested rewrite, not just a red flag. That 'here's how to fix it' step is what makes the output genuinely useful to a freelancer.
  • Clean freemium split
    The scanner runs on the public /scan page while the dashboard quietly saves scan history once you're signed in — a sensible free-to-account gradient.
Friction points
  • Confirm email points at the raw Vercel URL
    The signup confirmation link's redirect_to is clause-six-ecru.vercel.app instead of clauseapp.space, so the post-confirm landing (and PKCE exchange) leaves your brand domain. Setting the Supabase redirect URL to the production domain keeps it on-brand.
  • Auth paths 404 on direct visit
    /auth works via the header 'Get Started' link, but /login, /signup and /get-started all 404. Redirecting those common paths to /auth would catch bookmarks and SERP visitors.

5 visual changes

Step 213,479 px changed
Before
Before
After
After
Diff
Diff
Step 572,718 px changed
Before
Before
After
After
Diff
Diff
Step 669,467 px changed
Before
Before
After
After
Diff
Diff
Step 717,282 px changed
Before
Before
After
After
Diff
Diff
Step 813,477 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,525 test runs recorded · 1,174 products tested with Lastest

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