In this video· click a step to jump to it
Test recording
HighRank — listing and leaderboard walkthrough
101,995 ms · 94,678 pixels changed
We built this regression test for highrank.space — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against highrank.space. 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, 1300); 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' });
await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
await page.route('**/*sentry*/**', function (r) { r.abort(); }).catch(function () {});
// ── 1. Signed-in home ─────────────────────────────────────────────────────
stepLogger.log('Scenario 1: HighRank home, signed in');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
await page.waitForLoadState('networkidle', { timeout: 2500 }).catch(function () {});Checks run
Notes from the demo run
AI-generatedHighRank's two-signal model is the clearest thing about it, and the product keeps repeating it everywhere it matters: Rank Position is bought with Boost, HighRank Score is earned with reviews, and the two are never blended. We created an account through the 'List your business' wizard, published a real listing, and walked the leaderboard, Discover and Top Spot with their category and region filters, then the owner studio and review composer on our own listing.
- Signup and first value are the same action'Create account' is not a separate form - it is step 2 of listing your business. You leave the flow with a live public profile at /company/<slug>, a rank position and a view count, not an empty dashboard.
- The score methodology is published, not hidden'Score: 40% average rating, 20% review volume, 20% endorsements, 20% profile completeness' plus 'Boost can lift Top Spot placement, but it can never buy reputation.' Directory sites almost never show this. It is the strongest trust signal on the page.
- Unclaimed listings carry an explicit disclaimer'This listing was published by HighRank and has not been claimed... Being listed implies no endorsement of, or partnership with, HighRank.' Legally careful and it reads as honest rather than defensive.
- /my-listing, /dashboard, /account and /profile all render as blank pagesAll four return HTTP 200 with a working header and footer but no main content - only the boilerplate 'The discovery leaderboard for startups and businesses' block. 'My Listing' is in your signed-in nav, so this is a link a new user will click on their first visit and find empty.
- The auth page's 'Create account' toggle is a link to /add-business, not a tabIt sits next to 'Sign in' styled exactly like a tab, so clicking it navigates away from the sign-in form entirely instead of switching panels. Someone who clicks it by mistake loses whatever they had typed.
6 visual changes
Share this run
Proof your app is not AI slop
This test was built for highrank.space — 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.

















