Recording of the visual regression run on hillch.art · hillchart — app walkthrough.

In this video· click a step to jump to it

H
Passed

Test recording

hillchart — app walkthrough

42,298 ms · 403 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const CFG = {"appEntry":"/app","publicMaxNav":2,"steps":[{"goto":"/app","dismiss":true,"clickText":"Skip tour","label":"projects-home"},{"goto":"/app/project/96de9825-f8bb-4561-ba1f-effb9363d049","dismiss":true,"label":"project-hillchart"},{"clickText":"Timeline","label":"project-timeline"},{"clickText":"Snapshot","label":"project-snapshot"},{"goto":"/app","clickText":"Client Website Redesign","label":"project-2-hillchart"},{"goto":"/app/settings","label":"settings"},{"goto":"/app/settings?tab=plan","label":"plan-upgrade"},{"goto":"/app","clickText":"New project","label":"new-project"}]};
  const shot = function(i, s){ return screenshotPath.replace('.png', '-' + i + '-' + s + '.png'); };
  page.setDefaultTimeout(6000);
  // single combined noise-abort route (1 action instead of ~10)
  await page.route(function(u){ return /sentry|segment\.com|googletagmanager|google-analytics|hotjar|posthog|connect\.facebook|cdn-cgi\/scripts/.test(u.toString()); }, function(r){ r.abort().catch(function(){}); }).catch(function(){});
  let n = 1;
  const FP = CFG.fullPage !== false;
  const GOTO = 11000;
  const wait = function(ms){ return page.waitForTimeout(ms||500); };
  const dismiss = async function(){ const d = page.getByRole('button', { name: /skip|dismiss|maybe later|not now|got it|close|no thanks|continue|get started/i }).first(); if (await d.isVisible().catch(function(){return false;})) { await d.click({ timeout:2000 }).catch(function(){}); await wait(400); } };
  const clickByText = function(src){ return page.evaluate(function(s){
+55 more lines claim the test to get the full code.

Checks run

Run
Visual
0.37%
Text
DOM
Network
+70 −70
Console
A11y
Review
Perf
50 over
URL
Variables
Full report
Log in →
403
Diff px
42s
Duration
Review
Accessible
WCAG 2.2
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

Hillchart brings Basecamp's Shape-Up 'hill charts' to any project. After signup (Supabase email confirm) the /app workspace is pre-seeded with two sample projects (Q2 Product Launch, Client Website Redesign) so the core hill-chart visualization is visible immediately — no blank slate. A left rail lists projects with scope counts, plus New project, Product tour, Settings and a Free-plan upgrade nudge.

Highlights
  • Pre-seeded sample projects
    A fresh account opens onto two demo projects with populated hill charts — the product's whole value is legible in the first three seconds.
  • Focused, single-concept tool
    It does one thing (where does each piece of work sit on the hill) and the UI doesn't dilute that with unrelated dashboards.
  • Built-in product tour
    A 'Product tour' affordance is right on the workspace for first-timers.
Friction points
  • Email confirm before login
    Supabase signup requires confirming the email before the workspace is reachable, adding an inbox hop to onboarding.
  • Free plan caps active projects
    'Free: 2 active projects' is shown inline — a clear but early upgrade ceiling for a tool people want to use across many projects.

Visual change

Step 1403 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,491 test runs recorded · 978 products tested with Lastest

This test was built for hillch.art — 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.