Recording of the visual regression run on gate.ravenlabs.studio · RavenGate — app walkthrough.

In this video· click a step to jump to it

G
Passed ✓

Test recording

RavenGate — app walkthrough

51,882 ms · 0 pixels changed · matches baseline

We built this regression test for gate.ravenlabs.studio — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against gate.ravenlabs.studio. 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, 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, 1400); await new Promise(r => setTimeout(r, 350)); await anim(max, 0, 800); })()";

  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 pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**']) {
    await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
  }

  // ── Public context: sign-in page ──────────────────────────────────────────
  stepLogger.log('Scenario 1: Sign-in page');
  await page.goto(baseUrl + '/login', { waitUntil: 'domcontentloaded' }).catch(function () {});
+85 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
✓
Text
—
DOM
✓
Network
—
Console
✓
A11y
A
Perf
—
URL
✓
Variables
—
Full report
Log in →
0
Diff px
52s
Duration
A
Accessible
WCAG 2.2 · 93
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

We drove RavenGate end-to-end: your sign-in, the observability dashboard (spend, P50/P95 time-to-first-token and duration, cost-by-model, spend-by-application, requests-by-hour), and every console surface, API Keys, Analytics, Audit Log, Billing, Account, Team, then created a proxy API key. For a gateway that just launched, the depth of the metrics view is impressive.

Highlights
  • Dashboard depth
    Spend, P50/P95 TTFT + duration, cost-by-model, spend-by-application and requests-by-hour all sit on one screen, a genuinely strong observability story out of the gate.
  • Guided empty states
    Every zero-state points at the next action ('send a request through the proxy to see data', 'Create your first key'), so a new user is never stuck.
Friction points
  • Signup route shows 'Welcome back'
    Navigating to /signup renders the same 'Welcome back / Sign in' form as /login, so first-time visitors don't get a signup-specific affordance beyond the OAuth buttons. A distinct sign-up heading would reassure new users.
  • Metric cards read as dashes when empty
    The P50/P95 tiles show a bare em-dash before any traffic; a one-line 'no data yet' hint (like the charts have) would make the empty state clearer.

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,399 test runs recorded · 1,174 products tested with Lastest

This test was built for gate.ravenlabs.studio — 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.