In this video· click a step to jump to it
Test recording
Formitect — app walkthrough
66,405 ms · 750,388 pixels changed
We built this regression test for formitect.vercel.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against formitect.vercel.app. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const FORM_ID = 'cmud38o010001kz04h97ytat7';
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' });
await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
await page.route('**/sentry-cdn.com/**', function (r) { r.abort(); }).catch(function () {});
await page.route('**/connect.facebook.net/**', function (r) { r.abort(); }).catch(function () {});
// ── Public context: home ────────────────────────────────────────────────
stepLogger.log('Scenario 1: Public home page');Checks run
Notes from the demo run
AI-generatedWe signed up for Formitect, built a form from your Customer Feedback template, published it, submitted a response to it, and walked the whole authenticated surface. The standout is speed: account to live, public, response-collecting form took under a minute, and the dashboard was showing a real response rate immediately. The builder is the strongest screen you have, the field palette, canvas and settings panel all sit in one view with no modal hops.
- Signup to live form in under a minuteRegister grants a session immediately, no email-verify wall in the way. We had a published form collecting responses before the welcome modal would have finished.
- Templates mean the builder is never a blank pageSix starter templates on /dashboard/forms/new. Picking Customer Feedback dropped in four sensible pre-labelled fields, which is a much better first run than an empty canvas.
- Real analytics on the free tierThe responses view showed Total responses, This week and a 50% completion rate (1 of 2 viewers) off a single submission. Showing completion rate that early is a nice touch.
- The verify-email banner never goes away because the email never arrivesA yellow 'Verify your email to secure your account' bar sits on top of every authenticated screen, including the builder. We watched the inbox (and spam) for the whole session and no verification mail was ever delivered, so there is no way for a new user to clear it. Worth checking your transactional sender, right now the banner reads as a permanent defect.
- Export is paywalled before there is anything to exportThe responses table shows 'Upgrade to export' on a form with one response. Gating export at 1 response asks for the upgrade before the user has felt the value, letting the first N responses export free would likely convert better.
10 visual changes
Share this run
Proof your app is not AI slop
This test was built for formitect.vercel.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.





























