Recording of the visual regression run on spanora.ai · spanora — app walkthrough.

In this video· click a step to jump to it

S
Passed ✓

Test recording

spanora — app walkthrough

54,857 ms · 1,548 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against spanora.ai. 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":"/dashboard","publicMaxNav":0,"fullPage":true,"steps":[{"goto":"/dashboard","dismiss":true,"waitMs":2200,"label":"dashboard-spans"},{"at":"/dashboard","clickText":"^30d$|^7d$","waitMs":1600,"label":"dashboard-30d-range"},{"goto":"/traces","waitMs":2200,"label":"traces"},{"goto":"/api-keys","waitMs":2000,"label":"api-keys"},{"at":"/api-keys","clickText":"Create|New API key|Generate|New key|Create key","waitMs":1500,"label":"new-api-key"},{"goto":"/settings","waitMs":1800,"label":"settings"},{"goto":"/docs","waitMs":2200,"label":"docs"},{"at":"/dashboard","clickText":"Upgrade plan","waitMs":1800,"label":"upgrade-plan"}]};
  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.89%
Text
—
DOM
✓
Network
—
Console
✓
A11y
B
Perf
✓
URL
✓
Variables
—
Full report
Log in →
1,548
Diff px
55s
Duration
B
Accessible
WCAG 2.2 · 85
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

Spanora is LLM/agent observability — 'see what your AI agents do, why, and what it costs.' After a passwordless sign-in it opens on a polished dark dashboard: Total Traces, Total Cost, Avg Duration, Success Rate, Input/Output Tokens, a Cost-Over-Time chart, an Outcomes (success/partial/failure) breakdown, an Agent Leaderboard by cost, Token Efficiency and Tool Reliability. Left rail: Dashboard, Traces, API Keys, Settings, Docs, on a Free plan with 1,000 spans. The IA maps cleanly to instrument → trace → watch-cost.

Highlights
  • Complete observability IA out of the box
    Traces, cost-over-time, outcome breakdown, agent leaderboard, token efficiency and tool reliability cover the whole 'is my agent working and what's it costing me' question — it reads like a serious platform, not an MVP.
  • Time-range control + 1,000 free spans
    A 1h/24h/7d/30d toggle and a clear 0/1,000 free-span meter mean an evaluator knows exactly what they can try before paying.
  • Cost is a first-class metric, not an afterthought
    Total Cost sits next to Total Traces in the headline row — the product leads with the thing AI teams actually worry about.
Friction points
  • Every panel is empty until the first trace
    Dashboard, leaderboard and charts all show 'No data for this period' on a fresh account; a sample trace would showcase the product far better on first run.
  • 'Complete your setup' competes with the dashboard
    A 'Send your first trace…/Resume setup' banner sits above the metrics — useful, but it pulls focus from the (empty) dashboard it's overlaying.

2 visual changes

Step 1824 px changed
Before
Before
After
After
Diff
Diff
Step 3724 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,257 test runs recorded · 1,158 products tested with Lastest

This test was built for spanora.ai — 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.