In this video· click a step to jump to it
Test recording
Goalmatic — app walkthrough
152,428 ms · 2,518,802 pixels changed
We built this regression test for goalmatic.io — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against goalmatic.io. 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 + '-' + s + '.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, 1100); await new Promise(r => setTimeout(r, 280)); await anim(max, 0, 650); })()";
const DISMISS_OVERLAYS = "(() => { let n = 0; const dc = document.querySelectorAll('.driver-popover-close-btn, [aria-label=\"Close\"]'); for (const b of dc) { b.click(); n++; } const btns = [...document.querySelectorAll('button')]; for (const b of btns) { const t = (b.innerText || '').trim(); if (/^(skip|skip tour|got it|dismiss|maybe later|not now|finish|done|×)$/i.test(t)) { b.click(); n++; } } document.body.classList.remove('driver-active'); const ov = document.querySelector('.driver-overlay, svg.driver-overlay'); if (ov && ov.parentNode) ov.parentNode.removeChild(ov); const pop = document.querySelector('.driver-popover'); if (pop && pop.parentNode) pop.parentNode.removeChild(pop); return n; })()";
const AGENT_ID = '79cd74c8-0059-4c19-a9bf-fd20b0e0bf21';
await page.context().setExtraHTTPHeaders({ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36' });
for (const pattern of ['**/cdn-cgi/scripts/**', '**/sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/*.posthog.com/**', '**/amplitude.com/**', '**/google-analytics.com/**', '**/googletagmanager.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
stepLogger.log('Public: Goalmatic home');Checks run
Notes from the demo run
AI-generatedWe registered with the email-OTP flow on goalmatic.io and drove your workspace end to end: dashboard, the Build Anything composer, Agents, an agent detail page, Workflows, the Integration library, Marketplace, Apps and Account settings. The composer plus the three starter chips is the best thing on the page. It answers 'what do I do first' before the user has to ask, and the credits panel keeps the cost of each run visible while you build.
- The empty state is a prompt, not a wall'Build Anything — type what you want to build and your builder will build it for you' with Track my gym workouts / Track my monthly spending / Build me a daily logger. A brand-new workspace has something to click in under two seconds.
- Credits are always on screenThe sidebar pins 30 credits available plus Flow Runs 0/100, Flows 0/10, Agents 0/10. Usage-based products usually bury this until the first bill.
- Integration library explains the payoff'Connect once, then use your tools across agents, workflows, and installed apps' does more work than a logo grid would.
- The first-run tour covers the thing it is describingThe driver.js popover for step 1 of 10 lands directly on top of the Build Anything input, so the highlighted feature is hidden behind the tooltip explaining it. Offsetting the popover below the card, or highlighting without overlaying, would fix it. We had to close it to capture the composer at all.
- Sidebar labels and routes disagreeThe sidebar reads Workflows and Explore but the routes are /flows and /marketplace, and the intuitive guesses /workflows and /explore both return a hard 404. A redirect pair is a one-line fix and saves anyone who types the label they just read.
- /tables·Trimmed to keep the recording inside the run budget.
7 visual changes
Share this run
Proof your app is not AI slop
This test was built for goalmatic.io — 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.




















