In this video· click a step to jump to it
Test recording
SideTracked — app walkthrough
37,015 ms · 307,181 pixels changed
We built this regression test for sidetracked.site — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against sidetracked.site. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const AUTH_AUTOMATABLE = true;
const CHAINED_AUTH = true;
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = () => page.waitForLoadState('networkidle').catch(function () {});
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); })()";
// ─── EB Chromium bootstrap ─────────────────────────────────────────────────
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',Checks run
Notes from the demo run
AI-generatedSideTracked is a dark-themed, minimalist AI focus-coach app built on a Lovable+Supabase stack. The hero ("Focus on what matters. Reach your goal") leads straight into a live product screenshot rather than abstract marketing copy. Auth offers Google, Apple, and email+password on a single /auth page. Post-login, the core loop is tight: a 3-step wizard (name your project/identity/goal, optional milestone, AI-generated 5 daily moves) that produces genuinely specific, non-generic action items tailored to the typed inputs. The in-app surface (Calendar, Focus timer, Coaching, Profile) is small and coherent for an indie SaaS.
- Sharp AI move-generationThe 'AI generates 5 concrete actions' step is not templated boilerplate — it produced highly specific, context-aware daily moves (e.g. referencing the exact project goal typed in) with time estimates per move. This is the product's core value prop and it delivers.
- Clean auth surfaceGoogle, Apple, and email+password are all on one /auth page (toggle sign-in/create-account) — no separate marketing-vs-app auth split, and Google OAuth via the Lovable OAuth proxy completed without any consent-flow friction once a trusted session was used.
- Coherent minimal app shellFour nav items (Home/Calendar, Focus, Coaching, Profile) cover the entire product surface — no bloat, easy to demo end-to-end in under a minute.
- Broken email-confirmation link (product bug)The signup-confirmation email's 'Verify Email' button routes through a Lovable click-tracking redirect (lnk.md.lovable-app.email) that intermittently drops the Supabase verify token's query string on the 302, landing on a bare /auth/v1 'No API key found' error page instead of completing verification. A retry sometimes works, sometimes doesn't — this is a real signup-conversion leak worth fixing (the tracker wrapper, not Supabase, is at fault).
- First-run onboarding tour can overlay the wizard formOn a brand-new account's first visit to /project/new, a 'THE PROBLEM' tour modal renders on top of the project-setup form. It's dismissible, but the dismiss click didn't always register cleanly in an automated context — worth double-checking the modal's focus-trap/dismiss affordance.
6 visual changes
Share this run
Proof your app is not AI slop
This test was built for sidetracked.site — 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.

















