In this video· click a step to jump to it
Test recording
yagni — authed walkthrough
66,467 ms · 82,999 pixels changed
We built this regression test for yagni.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against yagni.app. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const BASE = "https://yagni.app";
const ENTRY = "/front";
const BIZ = "What are the top 3 things that need my attention this week?";
const COOKIES = [{"name": "_ga", "value": "GA1.1.2013814541.1784175569", "url": "https://yagni.app/"}, {"name": "yagni_session", "value": "QNyXiD7AjOqTV8eftZlPRL5ovZzLYBg6WaLmZi2eXGQ", "url": "https://yagni.app/"}, {"name": "yagni_authed", "value": "1", "url": "https://yagni.app/"}, {"name": "_ga_1TT48VSZHP", "value": "GS2.1.s1784175568$o1$g1$t1784176949$j39$l0$h0", "url": "https://yagni.app/"}];
const LS = {"https://yagni.app": [{"name": "__mpq_482f7e2cc9f2da954c358f0ae4f79c38_ev", "value": "[]"}, {"name": "mp_482f7e2cc9f2da954c358f0ae4f79c38_mixpanel", "value": "{\"distinct_id\":\"91faa94d-8bff-4395-add7-ac9b5b4fa6e0\",\"$device_id\":\"337de094-e047-4b06-baee-6ed482672706\",\"environment\":\"production\",\"source\":\"web\",\"$initial_referrer\":\"https://yagni.app/front\",\"$initial_referring_domain\":\"yagni.app\",\"__mps\":{},\"__mpso\":{},\"__mpus\":{},\"__mpa\":{},\"__mpu\":{},\"__mpr\":[],\"__mpap\":[],\"$search_engine\":\"google\",\"$user_id\":\"91faa94d-8bff-4395-add7-ac9b5b4fa6e0\",\"user_id\":\"91faa94d-8bff-4395-add7-ac9b5b4fa6e0\",\"is_internal\":false,\"workspace_id\":\"b1167cb3-b0a3-4c9e-b321-11a1b0fcea93\",\"workspace_slug\":\"gmail-22\",\"workspace\":[\"b1167cb3-b0a3-4c9e-b321-11a1b0fcea93\"]}"}, {"name": "__mpq_482f7e2cc9f2da954c358f0ae4f79c38_pp", "value": "[]"}, {"name": "yagni:reported-timezone", "value": "UTC"}]};
const shot = async (n, label) => { try { await page.screenshot({ path: screenshotPath.replace(/\.png$/, '') + '-' + n + '.png', fullPage: true }); } catch (e) {} stepLogger.log(label || n); };
const dismiss = async () => { try { await page.getByRole('button', { name: /skip|dismiss|got it|maybe later|not now|close|accept|ok$/i }).first().click({ timeout: 2000 }); } catch (e) {} };
const SAFE = /log ?out|sign ?out|delete|remove|pay|subscribe|upgrade|buy|purchase|checkout|billing|cancel|archive|send email|charge|invite|\bpay\b/i;
try { await page.context().addCookies(COOKIES); } catch (e) { stepLogger.warn('addCookies: ' + e.message); }
await page.addInitScript((ls) => {Checks run
Notes from the demo run
AI-generatedWe drove yagni end to end: the /front dashboard greeted our test user by name ("Late night, Last."), surfaced a single "one thing that needs you" brief, and kept a calm FRONT / WORK / LIBRARY split. We typed a real question into the @yagni box and walked the in-app routes. The restraint is the standout, most agent tools shout, yours whispers.
- Named, single-focus zero-stateThe FRONT panel leads with exactly one thing that needs the user plus a "0 of 3 approvals" graduation meter, no wall of widgets. Rare discipline for an agent product.
- Quick-prompt scaffolding"What needs me today? / What changed overnight?" chips sit right on the composer, so a new user never faces a blank box.
- Value is gated behind Connect GmailUntil a tool is connected the whole FRONT is a setup checklist; a read-only sample Team would let visitors feel the product before granting inbox access.
5 visual changes
Share this run
Proof your app is not AI slop
This test was built for yagni.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.














