In this video· click a step to jump to it
Test recording
usefold — app walkthrough
58,086 ms · 690 pixels changed
We built this regression test for usefold.io — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against usefold.io. 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 settle = async () => {
await page.waitForLoadState('networkidle').catch(() => {});
await page.locator('h1, h2, main, [role="main"]').first().waitFor({ state: 'visible', timeout: 5000 }).catch(() => {});
await page.waitForTimeout(600);
};
// Block noisy third-party scripts so consoleErrorMode does not red the test
await page.route(/(?:cloudflareinsights|tawk\.to|posthog\.com|facebook\.net|googletagmanager|google-analytics|googleads|googleadservices|gtm\.js|doubleclick\.net|hotjar\.com|fullstory|segment\.io|intercom|crisp\.chat)/i, route => route.abort()).catch(() => {});
await page.context().setExtraHTTPHeaders({Checks run
Notes from the demo run
AI-generatedFold's hero ('You're spending on ads that might be losing money') leads with revenue risk, not feature claims, which is unusually direct for a SaaS landing page. The signup flow runs Supabase email+password with a confirmation gate, then a clean 3-step onboarding wizard (website URL, business profile, connect data), then drops straight into a sample-populated dashboard so a brand-new visitor can see what the product is for before doing any work. Once inside, the sidebar exposes 9 distinct surfaces (Overview, Analytics, Fix-It Playbooks, Growth, Customers, AI Advisor, Data Sources, Settings, Advanced) with 14 integration providers ready to wire in.
- Sample-data dashboard pre-populatedBrand-new accounts land on an Overview with $10.2K revenue, 3.5K sessions, $57.8K ad spend, 93 new customers, CAC $621, +69% / +59% / +62% deltas. A 'DEMO Viewing sample data. Connect real integrations to see live metrics.' banner sets expectations cleanly. This is a textbook empty-state, evaluators get the product before they commit data.
- AI Advisor is a real surface, not a marketing claim/dashboard?tab=ai renders a 'Daily AI Insight' panel with Focus-goal chips (Grow MRR, Reduce Churn, Scale Ads), a Generate Insight button, and a chats panel — it's wired up before any data is connected. The 'Live Data Context' pill in the corner is a strong trust signal for a tab that's often vapor in competing products.
- Onboarding wizard can be skippedStep 1 of 3 (paste website URL) has a 'Skip' link and a 'Skip scan — enter description manually' button. The wizard does not gate access to the dashboard, which is the right call — most evaluators want to peek at /dashboard before describing their business.
- Integration catalog is the assetData Sources tab shows 14 platforms across Payments & Revenue (4), Web Analytics (3), Advertising (1), Email & Marketing (4), Stores (2). Clear category tabs, search bar at the top, 'Not connected' status pills on each row. This is the page evaluators will spend the most time on.
- Connect Stripe modal blocks the dashboard on every fresh loadEven after dismissing it with 'Maybe later — show me where to connect', a hard reload of /dashboard re-asserts the modal. For evaluators bouncing between tabs and pages this means dismissing it repeatedly. A session-scoped or once-per-day dismiss would smooth the first hour of evaluation.
- Tab navigation uses query params but direct URLs 404Clicking the Analytics sidebar button routes to /dashboard?tab=analytics, which works. But a deep link to /analytics (or /advisor / /customers) returns a 404. Founders sharing 'check our AI Advisor at /advisor' from chat will hit a dead end. Either redirect the bare paths to /dashboard?tab=... or make them first-class routes.
- /blog has a 2026-05-29 publication date issueSeveral blog cards show 'May 25, 2026' which is 4 days in the future from when this run was captured. Likely a placeholder-content date or a timezone issue in the publish-date renderer.
6 visual changes
Share this run
Proof your app is not AI slop
This test was built for usefold.io — 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.

















