Recording of the visual regression run on app.granite.co · Granite — app walkthrough.

In this video· click a step to jump to it

A
Passed ✓

Test recording

Granite — app walkthrough

30,339 ms · 1,582 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against app.granite.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 ORIGIN = "https://app.granite.co";
  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' }).catch(function(){});
  // Scenario 1: public home
  await page.goto("https://app.granite.co", { waitUntil: 'domcontentloaded' });
  await page.waitForLoadState('networkidle', { timeout: 8000 }).catch(function(){});
  await page.waitForTimeout(1400);
  { const cb = page.getByRole('button', { name: /accept all|^accept$|got it/i }).first(); if (await cb.isVisible().catch(function(){return false;})) { await cb.click({timeout:2000}).catch(function(){}); await page.waitForTimeout(500); } }
  stepLogger.log('Scenario 1: Home');
  await page.screenshot({ path: shot(1, 'home'), fullPage: true });
  // Sign-in
+50 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
5.73%
Text
—
DOM
✓
Network
—
Console
✓
A11y
A
Perf
98 over
URL
✓
Variables
—
Full report
Log in →
1,582
Diff px
30s
Duration
A
Accessible
WCAG 2.2 · 93
B
Fast
Web Vitals · 85

Notes from the demo run

AI-generated

Granite is an AI search layer over your documents - sign in and the dashboard is a single 'Hi Lastest. What do you need to find?' prompt with an Ask-anything box and a Library, so the product's core action is the first thing you see.

Highlights
  • One-prompt dashboard
    No empty grid - the authed home is literally the search box ('my 2023 tax return...'), which is the shortest possible path to value for a document-Q&A tool.
  • Add-document + Library in reach
    Upload and Library are one click from the prompt, so the ingest->ask loop is obvious without onboarding.
Friction points
  • Verify-to-upload gate
    A 'Confirm your email to upload more' banner caps ingestion before verification; making the first upload free would let evaluators feel the Q&A loop instantly.

Visual change

Step 31,582 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,604 test runs recorded · 1,174 products tested with Lastest

This test was built for app.granite.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.