In this video· click a step to jump to it
Test recording
MedPreneur — app walkthrough
106,817 ms · 3,116 pixels changed
We built this regression test for medpreneur.online — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against medpreneur.online. 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=new URL("https://medpreneur.online/app").origin; 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++; };
const accept=async()=>{ await page.getByRole('button',{name:/accept all|got it|^accept$|dismiss|^close$|skip|maybe later|not now|^ok$|let me start|show me|continue/i}).first().click({timeout:1500}).catch(function(){}); await page.keyboard.press('Escape').catch(function(){}); };
const is404=async()=>{ const b=await page.locator('body').innerText().catch(function(){return '';}); return /\b404\b|page not found|page you.{0,6}looking for|doesn.t exist|couldn.t find|lost in the/i.test(b); };
// 1. Public home
await page.goto("https://medpreneur.online",{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForLoadState('networkidle',{timeout:6000}).catch(function(){}); await page.waitForTimeout(1500); await accept(); await cap('home');
// 2. Post-login dashboard (authed via replayed storage_state)
await page.goto(APPENTRY="https://medpreneur.online/app",{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForLoadState('networkidle',{timeout:8000}).catch(function(){}); await page.waitForTimeout(2600); await accept(); await page.waitForTimeout(600); await cap('dashboard'); post++;Checks run
Notes from the demo run
AI-generatedMedPreneur is an all-in-one platform for medical students, and the signed-in surface is genuinely broad: a Dashboard, an AI Assistant, Clinical Cases, a Daily/AI Planner, a Study Tracker, Progress + Achievements + Leaderboard (gamified), Notes, MedSpaces and a Community/Businesses hub — fourteen authed routes in total. For a single-founder build this is an unusually complete student workspace rather than a thin MVP.
- One workspace, not a featureCases, planner, study tracker, notes, AI assistant and a social leaderboard all live behind one login — MedPreneur is trying to be the student's daily home base, and the breadth shows.
- Gamified progressProgress / Achievements / Leaderboard turn studying into a streak-and-rank loop, which is the right retention mechanic for a student audience.
- AI assistant is first-classThe AI Assistant sits at the top of the hub (its own /app/ai route) rather than buried in a corner — a clear bet on AI-assisted studying.
- Hash-suffixed app URLPost-login lands on /app# (a trailing hash) — harmless, but it's the kind of stray artefact a per-deploy visual test flags before it ships.
- Wide surface = wide regression riskFourteen authed routes is a lot for a solo build to keep visually stable across deploys — exactly the surface where an automated baseline pays off.
2 visual changes
Share this run
Proof your app is not AI slop
This test was built for medpreneur.online — 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.





