In this video· click a step to jump to it
Test recording
MakiRoll Studio — app walkthrough
68,355 ms · 0 pixels changed · matches baseline
We built this regression test for app.makiroll.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.makiroll.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, 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' });
const go = async (path, waitText) => {
await page.goto(baseUrl + path, { waitUntil: 'domcontentloaded' });
await page.waitForLoadState('networkidle', { timeout: 6000 }).catch(function () {});
await page.getByText(waitText).first().waitFor({ state: 'visible', timeout: 20000 }).catch(function () {});
await page.waitForTimeout(1800);
};Checks run
Notes from the demo run
AI-generatedWe signed into MakiRoll Studio with Google and walked the whole browser studio: home, the four-step idea-engine setup, the library, guided recording prep, settings and plans. The framing is the strongest thing here. Every screen is written to lower the stakes of turning a camera on, from 'Don't worry about getting it right. Just start talking.' on home, to 'A rough thought is enough. We'll find the shape of it together.' above the topic box, to the starter buttons ('I want to introduce myself', 'Surprise me') for people who freeze. And the recording settings line reads 'Guided, 5 min, Curious Friend, Icebreaker, 9:16', which tells a first-timer exactly what is about to happen to them. That is a product that understands its own user's anxiety.
- The copy does the onboarding workHome, the topic box and the starter prompts all reduce the same fear in different words. Nothing in the studio asks you to be good on camera, it just asks you to start talking. For a habit product that is the entire retention mechanic.
- Recording settings are stated in plain English before you commit'Guided, 5 min, Curious Friend, Icebreaker, 9:16' with a Change link next to it. A first-time user knows the format, the length, the interviewer persona and the aspect ratio before pressing record.
- The idea engine asks good questionsFour steps: where you publish, your website, what you want to achieve, and optionally learning from your recent transcripts. Asking for goals ('Grow my audience', 'Get customers / leads') rather than topics is what should make the suggestions non-generic.
- 'Workspace needed' blocks recording with no explanation of whyThe guided record screen shows 'Workspace needed' and 'Choose folder' next to Continue to framing, but the reason (videos stay on this device, so the browser needs a local folder handle) is only explained over on Settings. A one-line 'we save your videos on your device, pick where' at the blocker would convert better, and it is also the moment to mention that the folder picker needs a Chromium browser.
- An empty library renders three identical tabsAll, Ideas, Editing and Completed all show the same zero state on a new account, so the filters read as broken rather than empty. Hiding or disabling the tabs until there is at least one video would remove the doubt.
- /billing checkout·Switched to monthly pricing to show the flow but never started a purchase.
- record / capture·Recording needs a camera and a local folder handle, neither of which exists on a test runner.
Share this run
Proof your app is not AI slop
This test was built for app.makiroll.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.