In this video· click a step to jump to it
Test recording
First Concepts — app walkthrough
147,747 ms · 269,563 pixels changed
We built this regression test for app.firstconcepts.co — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.firstconcepts.co. 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, 1400); await new Promise(r => setTimeout(r, 350)); await anim(max, 0, 800); })()";
const GATE = /create your account|continue with google|already have an account\?|sign in to first concepts/i;
const SETTLED = function () { const m = document.querySelector('main') || document.body; return m.innerText.length > 150; };
const BRIEF = 'A launch film for a visual-regression testing tool: calm, technical, dawn light, a developer at a desk watching two screenshots diff side by side.';
let postLoginActions = 0;
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' });
// ── Scenario 1: signed-in workspace, First Steps rail ─────────────────────
stepLogger.log('Scenario 1: Workspace with the First Steps rail');Checks run
Notes from the demo run
AI-generatedWe signed into First Concepts with Google and drove the workspace end to end: the First Steps rail, a lesson, archive and projects, then created a project and worked the canvas — the agent panel, a written brief, and the frame, object and style rails. Onboarding is two questions and done, and the canvas genuinely feels like one workspace rather than a chat bolted onto a gallery.
- First Steps is a rail, not a modalFive lessons sit inline across the top of the workspace instead of blocking it. A new user can ignore them and still create a project, or open one without losing their place. Rare restraint.
- The agent panel proposes work, not chatDevelop the idea, Challenge the concept, Kick off the brief, Find references, Write a script. Naming the jobs instead of showing an empty prompt box is the difference between people using it and staring at it.
- Onboarding is two screensRole, then how you heard about us, both skippable. Straight into the workspace with sample styles already on the canvas.
- The browser-extension modal lands on top of the canvasRight after the guided tour is dismissed, a 'Collect inspiration faster' dialog covers the agent composer. Our first run could not type a brief at all until it was dismissed. Worth deferring it to a later session or the inspiration panel itself.
- Two dismissals stack back to backSkip All on the six-step tour, then Skip for now on the extension dialog. Two interruptions between creating a project and being able to type into it.
11 visual changes
Share this run
Proof your app is not AI slop
This test was built for app.firstconcepts.co — 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.
































