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

In this video· click a step to jump to it

M
Passed ✓

Test recording

MagicChat — app walkthrough

97,199 ms · 22,283 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const shot = function (n, slug) { return screenshotPath.replace('.png', '-' + n + '-' + slug + '.png'); };
  const BOT = '/dashboard/bots/lastest-support';
  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' });
  await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
  await page.route('**/*sentry*/**', function (r) { r.abort(); }).catch(function () {});
  await page.route('**/*datafa.st*/**', function (r) { r.abort(); }).catch(function () {});

  // ── Scenario 1: public landing (context frame) ─────────────────────────────
  stepLogger.log('Scenario 1: MagicChat landing page');
+115 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
33.80%
Text
—
DOM
✓
Network
+169 −169
Console
✓
A11y
B
Perf
13 drift
URL
✓
Variables
—
Full report
Log in →
22,283
Diff px
1m 37s
Duration
B
Accessible
WCAG 2.2 · 89
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We signed up to MagicChat with an email and password, skipped the phone step, created an agent by pasting a domain, trained it on one URL, and then asked it a real question in the playground. It answered from the indexed page with per-claim source links back to that page - no hallucinated filler. From account creation to a cited answer was about four minutes. Analytics, Sources, Embed, Infinite FAQ and Settings all render behind the same session.

Highlights
  • Answers carry per-claim source links
    The playground reply broke the answer into bullets and appended "Source: https://lastest.cloud" to each one. That is the single most convincing thing a support-bot demo can show, and it is on screen in the first conversation.
  • Creating an agent takes one field
    Typing a domain auto-fetches the favicon and drafts the bot name. The create panel is three fields and a role dropdown, which is why the first agent exists inside a minute.
  • The dashboard frames outcomes, not vanity metrics
    "Support that ran without you", After-hours coverage, and a Health row (agents active, embed live, sources indexed) tell an owner whether the thing is actually working.
  • The empty states are directive
    "No embed live yet - customers only reach the agent if the widget is on your site" with a Connect embed link is a useful nudge rather than a shrug.
Friction points
  • Signup bounces you to sign-in instead of signing you in
    Submitting the signup form redirects to /signin?message=signup-success and asks for the same email and password again. The account is already created and confirmed at that point, so establishing the session directly would remove a whole step from the funnel.
  • Free message credits are much lower than the headline
    The sidebar reads "Messages 0 / 100" while the account object carries 3 remaining credits. An evaluator who trusts the 100 will hit the wall on their fourth question without knowing why.
Couldn't reach
  • /dashboard/account (Generate Key)·Viewed only - we never mint API keys on a customer account
  • /pricing·Paid checkout - never entered

13 visual changes

Step 15,790 px changed
Before
Before
After
After
Diff
Diff
Step 214 px changed
Before
Before
After
After
Diff
Diff
Step 314 px changed
Before
Before
After
After
Diff
Diff
Step 4126 px changed
Before
Before
After
After
Diff
Diff
Step 514 px changed
Before
Before
After
After
Diff
Diff
Step 614 px changed
Before
Before
After
After
Diff
Diff
Step 716,197 px changed
Before
Before
After
After
Diff
Diff
Step 819 px changed
Before
Before
After
After
Diff
Diff
Step 919 px changed
Before
Before
After
After
Diff
Diff
Step 1019 px changed
Before
Before
After
After
Diff
Diff
Step 1119 px changed
Before
Before
After
After
Diff
Diff
Step 1219 px changed
Before
Before
After
After
Diff
Diff
Step 1319 px changed
Before
Before
After
After
Diff
Diff

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

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