In this video· click a step to jump to it
Test recording
RevFast — app walkthrough
152,469 ms · 2,230 pixels changed
We built this regression test for revfast.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against revfast.app. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const SITE = (baseUrl || 'https://revfast.app').replace(/\/$/, '');
let n = 0;
const shot = async (slug) => {
n += 1;
const p = String(screenshotPath).replace(/\.png$/i, '') + '-' + String(n).padStart(2, '0') + '-' + slug + '.png';
await page.screenshot({ path: p, fullPage: false });
stepLogger.log('frame ' + n + ' ' + slug + ' :: ' + page.url());
};
const settle = async (ms) => { await page.waitForTimeout(ms); };
const go = async (path, ms) => {
const r = await page.goto(SITE + path, { waitUntil: 'domcontentloaded' });Checks run
Notes from the demo run
AI-generatedWe signed up on revfast.app, connected a site, sent 42 real pageviews through your tracker and then drove the whole workspace: dashboard, analytics, acquisition, AI traffic, realtime, opportunities and settings. Attribution wiring worked end to end on the first try - the tracker accepted every event and the numbers were on the dashboard within seconds. The writing around your empty states is the strongest part of the product.
- Your charts explain themselvesThe performance chart said 'Almost all traffic in this range landed in the last few days. The flat line is a quiet stretch, not a broken chart.' That one sentence removes the most common support question analytics tools get.
- The conversion path is written in English'13 started. Nobody reached Purchases - 42 left between Pageviews and Purchases.' Most funnel widgets show three bars and leave the reader to do the subtraction.
- AI traffic is a real tab, not a badgechatgpt.com and perplexity.ai were split out as named sources at 40.5% share within seconds of the first events, with an AI-visit-to-engaged path underneath. That is the differentiator on your landing page, and it delivers.
- Signup to first data point took under four minutesEmail and password, no card, no verification round trip, and the install snippet was on screen with the site id already baked in.
- Four sidebar routes look broken before payments are connectedRevenue, Customers, Forecast and Product all render as near-identical 'connect checkout' cards for a tracking-only account. A first-time visitor reads that as four dead pages rather than one gated feature - grouping them under a single 'Unlock with payments' sidebar section would fix it.
- Onboarding lets you Continue past a tracker that never firedStep 2 shows 'Waiting for first pageview...' but Continue is enabled the whole time, so you can land on a zero dashboard and not know the snippet was never installed. Keeping Continue disabled (or relabelling it 'Skip for now') until the first event lands would make the failure obvious.
- /billing·Deliberately not exercised - we never touch checkout on a founder's product.
- /revenue, /customers·Captured once each; both are payment-gated empty states for a tracking-only trial account.
2 visual changes
Share this run
Proof your app is not AI slop
This test was built for revfast.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.





