Test recording
Nodott — app walkthrough
106,743 ms · 0 pixels changed · matches baseline
We built this regression test for app.nodott.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.nodott.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 = (i, slug) => screenshotPath.replace('.png', '-' + i + '-' + 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 findings = [];
let actions = 0;
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/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/*.posthog.com/**', '**/googletagmanager.com/**', '**/google-analytics.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
// ─── Replay the pre-registered demo session (captured host-side) ───Checks run
Notes from the demo run
AI-generatedNodott's authed app is further along than the landing page suggests — Campaigns, Inbox, Contacts, a Signals Agent, Settings and Profile are all real, navigable surfaces with honest empty states. The thing that blocks a new account from seeing any of it is the onboarding gate on /dashboard, which we could not get past. Everything in this recording after that point was reached by navigating around it.
- Social proof placed where doubt happensThe Zoku customer quote sits on the signup and login screens rather than only on the landing page. Putting the strongest testimonial at the point of commitment is a good call and rare in indie SaaS.
- The app shell is genuinely builtCampaigns, Inbox, Contacts and the Signals Agent all render properly with real navigation and sensible zero-states — this is a product, not a waitlist with a dashboard screenshot.
- Verification code arrived in secondsThe 6-digit email verification landed almost immediately and the code entry is a single clean field rather than six fiddly boxes.
- Onboarding is a dead end — Analyze and Next Step both do nothingAfter verifying, /dashboard redirects to /onboarding. We pasted a valid URL and clicked Analyze, waited 30s, then clicked Next Step repeatedly — the screen never changed. Since /dashboard always redirects back here, a new signup has no route to the product at all unless they happen to type /campaigns manually. This is the highest-value thing to check on your own fresh account.
- Google One-Tap intercepts the password field on /loginThe Google One-Tap prompt renders over the login form and swallows focus, so typing into the password field silently fails on first attempt. Deferring One-Tap until after the form is idle, or disabling it on the login route, avoids it.
Share this run
Proof your app is not AI slop
This test was built for app.nodott.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.