Recording of the visual regression run on hetguard.com · HetGuard — app walkthrough.

In this video· click a step to jump to it

H
Passed ✓

Test recording

HetGuard — app walkthrough

44,557 ms · 195,831 pixels changed

We built this regression test for hetguard.com — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against hetguard.com. 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.hetguard.com";
  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://hetguard.com", { 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
+67 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
100.00%
Text
—
DOM
✓
Network
+90 −9
Console
✓
A11y
B
Perf
✓
URL
27 diverged
Variables
—
Full report
Log in →
195,831
Diff px
45s
Duration
B
Accessible
WCAG 2.2 · 85
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

HetGuard is a clean, purpose-built control plane for Hetzner backups — the left rail (Servers, Backups, Schedules, Restores, Storage, Notifications, Billing) maps 1:1 to the mental model of someone running infra, so there's zero 'where do I go' friction.

Highlights
  • Domain-shaped nav
    Sidebar mirrors the backup lifecycle exactly: provision → back up → schedule → restore → store.
  • Metrics-first dashboard
    Landing is an infrastructure overview with key metrics rather than an empty welcome screen.
Friction points
  • Empty connected-server state
    Before a Hetzner key is added, the dashboards are necessarily empty — a sample/demo server would let evaluators feel the product faster.

7 visual changes

Step 39,624 px changed
Before
Before
After
After
Diff
Diff
Step 435,780 px changed
Before
Before
After
After
Diff
Diff
Step 531,439 px changed
Before
Before
After
After
Diff
Diff
Step 633,742 px changed
Before
Before
After
After
Diff
Diff
Step 734,212 px changed
Before
Before
After
After
Diff
Diff
Step 825,517 px changed
Before
Before
After
After
Diff
Diff
Step 925,517 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,604 test runs recorded · 1,174 products tested with Lastest

This test was built for hetguard.com — 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.