In this video· click a step to jump to it
Test recording
RankUp — app walkthrough
62,947 ms · 0 pixels changed · matches baseline
We built this regression test for rankup.club — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against rankup.club. 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, 1400); await new Promise(r => setTimeout(r, 350)); await anim(max, 0, 800); })()";
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', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**']) {
await page.route(pattern, r => r.abort()).catch(function () {});
}
// Public phase: home + auth UX
stepLogger.log('Scenario 1: Homepage');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });Checks run
Notes from the demo run
AI-generatedRankUp turns training into a ranked, cyberpunk 'operator' competition. Registering drops you straight onto a live dashboard — operator card, XP/streak counters, a weekly-goal tracker and a squadmate activity feed — with no email-verify wall in the way. The authenticated surface is genuinely deep: a session 'deploy' console, feed, leaderboard, squads, duels, an allies roster, and messages. RankUp Pro upsells are woven into most of those surfaces.
- One-step onboardingRegister goes straight to a working dashboard — no email-verify wall, no confirm-your-inbox detour. That is the fastest path-to-product we walked this week.
- Empty state feels aliveBefore you have logged a single session, the dashboard shows a real squadmate activity feed and a recommended-allies roster, so the zero-state never feels empty.
- Cohesive design systemThe 'operator/terminal' visual language (rank badges, //SECTION headers, neon accents) is carried consistently across every route — dashboard, session, leaderboard, squads.
- Two modals stack on first loginThe 6-step onboarding tour and the 'RankUp Pro is live' announcement both fire on the first authenticated landing and overlap — the Pro modal sits on top of the tour. Sequencing them (tour first, Pro after step 6) would make the first-session moment cleaner.
- Paywall above first valueOn /session the 'Squad Intel · PRO' upsell renders above the actual first-session CTA — you are shown a locked Pro feature before you have logged one session. Deferring that card until after the first logged session would let the value land first.
Share this run
Proof your app is not AI slop
This test was built for rankup.club — 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.