W
Passed

Test recording

Curi — app walkthrough

79,714 ms · 0 pixels changed · matches baseline

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

Take this test with you

This is a real Playwright test, recorded against www.trycuri.app. 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) ───
+165 more lines claim the test to get the full code.

Checks run

Run
Visual
Text
DOM
Network
+7 −6
Console
A11y
B
Perf
5 over
URL
Variables
Full report
Log in →
0
Diff px
1m 20s
Duration
B
Accessible
WCAG 2.2 · 80
B
Fast
Web Vitals · 85

Notes from the demo run

AI-generated

Curi delivers exactly what the landing page promises: one word, one fact, two minutes, no lessons. The authed app is deliberately three screens — Home, My Collection, Settings — and that restraint is the product. We walked the daily loop end to end, marked both cards as learned, toggled dark mode and left feedback, all in one recording.

Highlights
  • The product is visible before signup
    The marketing page renders the actual word card and fact card for today, with the same 'Got it' affordance the app uses. People know precisely what they're signing up for.
  • Scope discipline
    Three routes, one daily action, a streak counter. There's no feed, no social layer, no gamification sprawl. For a habit product that's the correct shape, and it's the hardest thing to hold onto.
  • Settings asks for feedback where feedback happens
    An in-app 'Found a bug, have an idea?' box with 'We read every message' on the settings screen will out-collect a contact form every time.
Friction points
  • Unknown routes render a blank white page instead of a 404 or a redirect
    /app, /dashboard, /today, /library and /profile all return 200 with an empty body rather than a not-found page or a bounce to /home. Anyone landing on a stale or guessed link sees a white screen and assumes the app is broken. A catch-all that redirects signed-in users to /home fixes all five at once.
  • The Google consent screen says the Supabase project ID, not 'Curi'
    Choosing Continue with Google shows 'to continue to yetfoyuysgqksjwrelow.supabase.co'. At the exact moment someone is deciding whether to trust you with their Google account, they're shown a random hostname. Setting the product name and domain in the Google Cloud OAuth consent config makes it read 'Curi'.

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
tests
all passing
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
56,322 test runs recorded · 941 products tested with Lastest

This test was built for www.trycuri.app — 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.