In this video· click a step to jump to it
Test recording
Merkora — app walkthrough
127,232 ms · 236,322 pixels changed
We built this regression test for merkora.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against merkora.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://merkora.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++; };
const accept=async()=>{ await page.getByRole('button',{name:/^accept all$|^accept$|got it|^ok$|^close$|dismiss/i}).first().click({timeout:1200}).catch(function(){}); await page.keyboard.press('Escape').catch(function(){}); };
// public home
await page.goto(ORIGIN+'/',{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForTimeout(2200); await accept(); await cap('home');
// authed dashboard (NO networkidle — fixed waits only)
await page.goto(ORIGIN+'/creators-dashboard',{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForTimeout(3000); await accept(); await cap('dashboard'); post++;
const ROUTES=["/creators-dashboard/calendar","/creators-dashboard/services","/creators-dashboard/bookings","/creators-dashboard/events","/creators-dashboard/courses","/creators-dashboard/digital-products","/creators-dashboard/flexible-sessions","/creators-dashboard/personal-page","/creators-dashboard/analytics","/creators-dashboard/settings"];Checks run
Notes from the demo run
AI-generatedMerkora is a polished Creator Studio — a link-in-bio plus a full monetization back-office (bookable sessions, courses, events, digital products) for coaches, consultants and creators. After a passwordless 6-digit sign-in and a guided multi-step setup (identity → hero → currency → bookable session → style), you land in a genuinely complete dashboard with a live personal page (yourname.merkora.app), a links page and a booking page already provisioned.
- Real product, not a waitlistThe post-onboarding Creator Studio is fully built: Bookings (Calendar/Services/Bookings), Content (Events/Courses/Digital Products/Flexible Sessions), Pages and Analytics all live behind one sign-in, each with a Manage action.
- Live page provisioned instantlySignup reserves and builds yourname.merkora.app plus /links and /book pages immediately — a creator can share a working link before adding any content.
- Guided 'first offers' checklistA '1 of 4 completed' getting-started card nudges new creators toward their first bookable service / course / product instead of leaving them on an empty canvas.
- Everything gated on StripeA persistent 'You haven't connected your Stripe account yet — customers won't be able to pay you' banner sits atop the dashboard; until Stripe is connected the monetization core is inert.
- Long setup before the productThe onboarding is six screens (identity, photo, hero, currency, bookable session, style) and every app route 404s until it's finished — a 'skip to dashboard' escape would help evaluators.
8 visual changes
Share this run
Proof your app is not AI slop
This test was built for merkora.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.























