In this video· click a step to jump to it
Test recording
Intilq - app walkthrough
147,775 ms · 83,694 pixels changed
We built this regression test for intilq.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against intilq.com. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const SITE = baseUrl.replace(/\/+$/, '');
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, 1200); await new Promise(r => setTimeout(r, 250)); await anim(max, 0, 600); })()";
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' });
for (const pattern of ['**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/api-js.mixpanel.com/**', '**/browser.sentry-cdn.com/**', '**/googletagmanager.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
const settle = async function (ms) {
await page.waitForLoadState('networkidle', { timeout: 2500 }).catch(function () {});Checks run
Notes from the demo run
AI-generatedWe signed up to Intilq with email + a 6-digit code, walked your whole authenticated product, and generated a real 7-day launch campaign. The campaign detail screen is the standout: 18 drafted posts with day-by-day scheduling, per-channel media plans, and captions that actually read like a person wrote them. The sidebar is coherent and the empty states across Approvals, Products and Brands all explain what will appear there rather than showing a blank pane.
- Campaign detail is your best screen18 posts across LinkedIn/Instagram/TikTok with a per-post media plan, HOOK quality tag, and Rewrite-with-AI on each caption. This is the screen worth putting on your landing page, not the hero illustration.
- Onboarding is three honest stepsRole, brand voice, plan. No forced tour, no dead-end modal. We were in the product roughly 40 seconds after the verification code arrived.
- Locked features explain themselvesAnalytics and Inbox render a real explanation of what you get and on which plan, instead of a 403 or a blank page. That is a better upsell than a hard gate.
- Free plan still produces a full campaign planWe got all 18 captions and the 7-day schedule without paying. Only the media render is gated. Letting an evaluator see finished copy before asking for a card is a strong choice.
- Generate campaign runs a 60-second progress animation, then asks for an upgradeOn the Free plan the button is enabled and plays 'Reading your brief', 'Shaping the arc', 'Writing captions'... and around the 60s mark an Upgrade-your-plan modal appears. The copy even says 'This is taking a little longer than usual'. Showing the plan limit before the spinner, or labelling the button 'Generate (Free: plan only)', would save the evaluator a minute of false hope.
- Plan cards on onboarding step 3 commit immediatelyClicking the Agency card jumped us straight to a Stripe checkout at $199 with no confirm step, and Back did not return to plan selection. A single click on a price card going straight to checkout is easy to do by accident.
- /en/dashboard/billing/checkout·Stripe checkout - never exercised on a founder's live payment surface
3 visual changes
Share this run
Proof your app is not AI slop
This test was built for intilq.com — 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.








