In this video· click a step to jump to it
Test recording
Ratifa — app walkthrough (authenticated)
91,331 ms · 0 pixels changed · matches baseline
We built this regression test for ratifa.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against ratifa.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 = (n, slug) => screenshotPath.replace('.png', `-${n}-${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, 1200); await new Promise(r => setTimeout(r, 300)); await anim(max, 0, 700); })()";
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', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/www.googletagmanager.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
// ---- 1. Projects (signed in via replayed Google-OAuth session)
stepLogger.log('1: Projects');
await page.goto(baseUrl + '/projects', { waitUntil: 'domcontentloaded' });Checks run
Notes from the demo run
AI-generatedWe signed in with Google, created a project, and drove ten authenticated surfaces: projects, the project's memory and search, the connections matrix, agents, vault, team, account, and the Connect-an-agent block for Cursor. The writing is the standout — 'Each project has its own memory. An agent connected to one never sees another', 'A stored key is sealed. Agents never receive it', and on the security page an unusually honest 'It does not protect against somebody with access to the Ratifa server'. That last line is the kind of thing most infra products bury, and it makes everything else on the page more believable. The connections table is explicitly evidence-based too: 'Working is measured, not claimed'.
- The setup really is one pastePick Claude Code / Claude / ChatGPT / Cursor / HTTP and the page renders the exact block, including the bootstrap and save endpoints and a rule about `supersedes` so old facts become history instead of competing. No SDK, no config file, no install step.
- Honest security copyThe vault page states plainly what sealed keys do not protect against. Saying the quiet part out loud is a stronger trust signal than another SOC-2 badge.
- Per-surface, not per-vendor, support matrix'One row per surface, not per company — Gemini behaves differently in three products, and Copilot differently in two editors.' That is a real distinction and nobody else in the agent-memory space is drawing it.
- There is no /register — every CTA lands on /login'Get started free', 'Start Free', 'Start Pro' and every pricing CTA point at /login, and /register is a hard 404. A first-time visitor who reads 'Get started free' and lands on a page headed 'Sign in' has to work out that Continue-with-Google also creates the account.
- A brand new project reads as five empty panelsProject overview shows 'Nothing remembered yet', 'Current state: Nothing yet', 'Blockers', 'No agent has been given a key' all at once. Collapsing the empties behind the one action that matters — connect an agent — would make the first minute feel less like a broken page.
- Create key·We never mint a live API credential on camera
- Send invitation·We draft the invite but never send mail on a founder's behalf
Share this run
Proof your app is not AI slop
This test was built for ratifa.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.