Recording of the visual regression run on www.zerobreakout.in · ZeroBreakout — app walkthrough.

In this video· click a step to jump to it

W
Passed ✓

Test recording

ZeroBreakout — app walkthrough

77,536 ms · 85,979 pixels changed

We built this regression test for www.zerobreakout.in — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against www.zerobreakout.in. 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, s) => screenshotPath.replace('.png', '-' + n + '-' + s + '.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, 280)); await anim(max, 0, 650); })()";

  await page.context().setExtraHTTPHeaders({ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' });
  for (const pattern of ['**/cdn-cgi/scripts/**', '**/sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/*.posthog.com/**', '**/google-analytics.com/**', '**/googletagmanager.com/**', '**/fundingchoicesmessages.google.com/**', '**/pagead2.googlesyndication.com/**']) {
    await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
  }
  const tab = async function (label, n, slug) {
    await page.getByRole('button', { name: label, exact: false }).first().click({ timeout: 12000 }).catch(function () {});
    await page.waitForTimeout(3400);
    await page.evaluate(SCROLL_THROUGH).catch(function () {});
+75 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
17.83%
Text
—
DOM
✓
Network
—
Console
✓
A11y
B
Perf
11 over
URL
✓
Variables
—
Full report
Log in →
85,979
Diff px
1m 18s
Duration
B
Accessible
WCAG 2.2 · 86
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

We signed into ZeroBreakout with Google and drove the scanner the way a trader would: searched TRENT, cycled through the Near-52W-High, ATH Breakout, MA Crossover, IPO Breakout and Fresh Today filters, then opened Stock Setup, the personal Watchlist and Account & Settings. The scanner itself is fast and dense, and the fact that the whole universe is browsable before you sign in is a strong choice.

Highlights
  • The product works before the login wall
    1,110 NSE scrips, live prices and every breakout filter are usable anonymously. Sign-in only adds the watchlist and Telegram alerts. That is the right split and most scanners get it backwards.
  • Freshness is stated, not implied
    'NSE Market Active (09:15 - 15:30 IST)', 'EOD Synced', 'Auto-Scan Clock 5:00 PM IST' are on screen permanently. For EOD data, saying when it last ran is the whole trust argument.
  • Compliance handled in plain sight
    The SEBI disclaimer and 'educational and mathematical pattern identification' framing sit in the account page rather than buried in a footer link.
Friction points
  • Filtered views cannot be linked or bookmarked
    Scanner, Stock Setup and Watchlist all leave the URL at the root - navigating straight to /stock-setup bounces to /. A trader who finds a good ATH-breakout screen has no way to bookmark it or send it to someone, which is the cheapest growth loop a scanner has.
  • The watchlist empty state points at an affordance we could not find
    It reads 'Star any stock from the Scanner or Setup page', but no star control was visible on the scanner rows at 1280px. The one feature the sign-in unlocks has no obvious way in.

8 visual changes

Step 185,932 px changed
Before
Before
After
After
Diff
Diff
Step 41 px changed
Before
Before
After
After
Diff
Diff
Step 513 px changed
Before
Before
After
After
Diff
Diff
Step 610 px changed
Before
Before
After
After
Diff
Diff
Step 716 px changed
Before
Before
After
After
Diff
Diff
Step 95 px changed
Before
Before
After
After
Diff
Diff
Step 101 px changed
Before
Before
After
After
Diff
Diff
Step 111 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 www.zerobreakout.in — 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.