Recording of the visual regression run on dashboard.openpanel.dev · OpenPanel — app walkthrough.

In this video· click a step to jump to it

D
Passed ✓

Test recording

OpenPanel — app walkthrough

69,802 ms · 47,733 pixels changed

We built this regression test for dashboard.openpanel.dev — it's yours to keep, free.

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  // Session replayed via setupOverrides storage_state -> context starts authed.
  const ORG = '/demo-workspace-7540';
  const P = ORG + '/demo-site';
  const MARKETING = 'https://openpanel.dev';
  const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
  const SCROLL_THROUGH = "(async () => { const ease = t => 1 - Math.pow(1 - t, 3); const max = Math.max(0, document.body.scrollHeight - window.innerHeight); if (max < 40) return; const anim = (a, b, ms) => new Promise(res => { const t0 = performance.now(); const step = now => { const p = Math.min(1, (now - t0) / ms); window.scrollTo(0, a + (b - a) * ease(p)); p < 1 ? requestAnimationFrame(step) : res(); }; requestAnimationFrame(step); }); await anim(0, max, 1100); await new Promise(r => setTimeout(r, 250)); await anim(max, 0, 700); })()";

  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' });
  for (const pat of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**']) {
    await page.route(pat, r => r.abort()).catch(function () {});
  }
+50 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
8.99%
Text
—
DOM
✓
Network
—
Console
✓
A11y
Review
Perf
252 over
URL
✓
Variables
—
Full report
Log in →
47,733
Diff px
1m 10s
Duration
Review
Accessible
WCAG 2.2
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

We registered a fresh OpenPanel workspace and recorded the authenticated product: the Overview packs unique-visitors, sessions, pageviews, bounce, refs, pages, devices, countries and a world map onto one screen, plus dedicated Insights, Pages, SEO, Realtime, Events, Sessions, Profiles and Cohorts views. It reads like a genuinely full analytics suite on the free trial.

Highlights
  • One-screen overview
    Visitors/sessions/pageviews/bounce KPIs sit above a referrers/pages/devices/countries/map grid, so the whole picture is visible without hunting through tabs. Strong first impression even at zero data.
  • Natural-language Ask AI
    The persistent 'Ask AI anything' bar in the sidebar invites querying analytics in plain English - a differentiator most privacy-analytics tools don't ship.
Friction points
  • Tracking-type gate is silent
    Create-project's Next button stays disabled until you pick Website/App/Backend, but the requirement ('at least one type must be selected') only appears after a failed click. Highlighting the selector up front would smooth onboarding.
  • Empty dashboard on first load
    With no events yet, every panel reads zero and there's no sample-data toggle, so a brand-new user can't tell whether the product works until they install the snippet.

3 visual changes

Step 145,202 px changed
Before
Before
After
After
Diff
Diff
Step 12269 px changed
Before
Before
After
After
Diff
Diff
Step 132,262 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,344 test runs recorded · 1,174 products tested with Lastest

This test was built for dashboard.openpanel.dev — 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.