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

In this video· click a step to jump to it

A
Passed ✓

Test recording

loamly — app walkthrough

77,825 ms · 111 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against app.loamly.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":"/en/workspace/lastest/dashboard","publicMaxNav":0,"fullPage":true,"steps":[{"goto":"/en/workspace/lastest/dashboard","dismiss":true,"waitMs":2800,"label":"ai-traffic-dashboard"},{"goto":"/en/workspace/lastest/attribution","waitMs":2200,"label":"attribution"},{"goto":"/en/workspace/lastest/intelligence","waitMs":2200,"label":"ai-intelligence"},{"goto":"/en/workspace/lastest/installation","waitMs":2000,"label":"install-snippet"},{"goto":"/en/workspace/lastest/settings/tracker","waitMs":2000,"label":"install-tracker"},{"goto":"/en/workspace/lastest/settings","waitMs":1800,"label":"settings"},{"goto":"/en/workspace/lastest/settings/billing","waitMs":1800,"label":"plan-and-trial"},{"goto":"/en/workspace/lastest/dashboard","waitMs":1800,"label":"dashboard-overview"}]};
  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.10%
Text
—
DOM
✓
Network
+60 −60
Console
✓
A11y
Review
Perf
✓
URL
10 diverged
Variables
—
Full report
Log in →
111
Diff px
1m 18s
Duration
Review
Accessible
WCAG 2.2
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

Loamly answers a 2026-native question: how much of your traffic is AI sending you, and which AI queries drive it. After a Supabase email-confirm and a quick brand+domain setup, the app opens on a clean 'AI traffic' dashboard — Visitors, Page Views, AI Rate, a timeline, Visibility Share %, Traffic Sources broken out by ChatGPT/Gemini/Claude/Perplexity/Copilot, plus AI Intelligence, Attribution, and a polished Tracker Settings page with the install snippet, allowed origins and a tracker secret. The IA reads like a focused analytics tool, not a bloated marketing suite.

Highlights
  • AI-traffic framing is legible in 3 seconds
    The dashboard leads with 'let's see which AI queries drive traffic' and splits Traffic Sources by AI platform — the entire value prop (measure AI-referred visits) is obvious before you install anything.
  • Tracker Settings is genuinely thorough
    Tracker status (Active / receiving data), a copy-paste install snippet, Allowed Origins management and a regenerable tracker secret — this is the kind of polish that earns trust for an analytics product.
  • AI Intelligence + Attribution as first-class tabs
    Beyond raw visits, dedicated AI Intelligence and Attribution sections signal the product is about *insight*, not just a counter.
Friction points
  • Everything is an empty-state until the tracker is live
    On a fresh workspace every panel says 'No visitor activity / No traffic sources yet — install the tracker'. A demo workspace with seeded sample data would let an evaluator feel the product working before touching their site.
  • Trial + plan nudges are loud
    A persistent 'You have 30 days left in your free trial — Pick a plan for free…' bar plus a 'Setup progress (0/2)' popover compete with the dashboard on first load.

3 visual changes

Step 430 px changed
Before
Before
After
After
Diff
Diff
Step 51 px changed
Before
Before
After
After
Diff
Diff
Step 680 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,239 test runs recorded · 1,156 products tested with Lastest

This test was built for app.loamly.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.