Recording of the visual regression run on www.thenextrace.app · The Next Race — app walkthrough.

In this video· click a step to jump to it

W
Passed

Test recording

The Next Race — app walkthrough

63,557 ms · 0 pixels changed · matches baseline

We built this regression test for www.thenextrace.app — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against www.thenextrace.app. 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,s)=>screenshotPath.replace('.png','-'+n+'-'+(String(s).replace(/[^a-z0-9]+/gi,'-').replace(/^-|-$/g,'').toLowerCase().slice(0,22)||'view')+'.png');
  const ORIGIN="https://www.thenextrace.app"; const MINPOST=9;
  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" }).catch(function(){});
  let idx=1, post=0;
  const cap=async(s,full)=>{ stepLogger.log('Scenario '+idx+': '+s); await page.screenshot({ path: shot(idx,s), fullPage: full!==false }); idx++; };
  // dismissWelcome: the onboarding Radix dialog closes on Escape and stays closed for the session
  const dismiss=async()=>{ for(var i=0;i<2;i++){ var has=await page.evaluate(function(){return /welcome to the next race/i.test(document.body.innerText);}).catch(function(){return false;}); if(!has) break; await page.keyboard.press('Escape').catch(function(){}); await page.waitForTimeout(900); } };
  const accept=async()=>{ await page.getByRole('button',{name:/^accept$|accept all|got it|dismiss|^close$|skip|maybe later|^ok$/i}).first().click({timeout:1200}).catch(function(){}); await dismiss(); };
  // 1. Public home
  await page.goto("https://thenextrace.app",{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForLoadState('networkidle',{timeout:6000}).catch(function(){}); await page.waitForTimeout(1800); await accept(); await cap('home');
  // 2. Authed dashboard (dismiss the welcome modal first)
+32 more lines claim the test to get the full code.

Checks run

Run
Visual
Text
DOM
Network
Console
A11y
Review
Perf
URL
Variables
Full report
Log in →
0
Diff px
1m 04s
Duration
Review
Accessible
WCAG 2.2
A
Fast
Web Vitals · 100

Notes from the demo run

AI-generated

The Next Race is a structured training-plan tool for endurance athletes and coaches - the authed app is organised around Plans, Athletes, Workouts, Races and Activities, with a Getting started 0 of 3 checklist (create a plan, add a workout, connect a data source) and a Library of 17 prebuilt workouts. Sign-in is passwordless via a one-time magic link (or Google / Apple).

Highlights
  • 17 prebuilt library workouts
    A brand-new account already has a Library of 17 ready-made workouts (Tempo, Sweet Spot, VO2 repeats, recovery runs) colour-coded by sport and intensity - real content to explore before building anything.
  • Clear getting-started checklist
    The home dashboard leads with a 3-step tracker (create plan, add workout, connect data source) so a new coach knows exactly what to do first.
  • Coach-shaped information model
    Separate Plans / Athletes / Workouts / Races / Activities maps cleanly onto how a running coach thinks - athletes, the races they target, and the workouts that bridge them.
Friction points
  • Welcome modal hard to dismiss
    A multi-step Welcome to The Next Race onboarding modal opens on every load and re-appears on each route; its Continue stays disabled after picking For personal use and there is no visible close/skip, so it sits over the app content. An X / Skip and a remembered completed-state would help.
  • Empty sections until data exists
    Athletes / Races / Activities are zero-state until the first plan is built; a sample plan would let an evaluator feel the product before committing data.

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
tests
all passing
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
56,325 test runs recorded · 941 products tested with Lastest

This test was built for www.thenextrace.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.