In this video· click a step to jump to it
Test recording
convradar — app walkthrough
113,789 ms · 0 pixels changed · matches baseline
We built this regression test for convradar.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against convradar.com. 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); })()";
const DEMO_URL = 'https://stripe.com/pricing';
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','**/cdn-cgi/scripts/**/cloudflare-static/**','**/sentry-cdn.com/**','**/browser.sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**']) {
await page.route(pattern, function (r) { r.abort().catch(function () {}); }).catch(function () {});
}
let actions = 0;
Checks run
Notes from the demo run
AI-generatedConvRadar's authenticated app is a clean, dark conversion-diagnostics workspace. Onboarding leads with a privacy-first 'Plug GA4 in — read-only, always' step that spells out exactly what's read vs never touched before asking for OAuth, and the Page Scan + Page Speed tools each accept a specific-page URL and run without a connected property, so value shows up on the first visit.
- Privacy-first onboardingYour GA4 connect step lists precisely what's read (aggregated funnel, sessions, revenue) vs never touched (user IDs, write access, other Google products). That clarity earns trust before the OAuth click.
- Standalone free toolsPage Scan and Page Speed both take a single-page URL and run without a connected GA4 property, so a first-time user gets a result before committing.
- Silent scan empty-stateAfter submitting a single-URL check, the 'Your checks' panel stayed on 'No checks yet' for a beat — a loading skeleton would reassure the user the scan is running.
- Low-contrast header metaThe 'Active property' label and account email (#6b7280 on near-black) fail WCAG AA contrast (~4:1); a slightly lighter gray is a one-line fix.
Share this run
Proof your app is not AI slop
This test was built for convradar.com — 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.