In this video· click a step to jump to it
Test recording
SchemaGen — register + app walkthrough
30,151 ms · 0 pixels changed · matches baseline
We built this regression test for schemagen.io — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against schemagen.io. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
// Demo identity (fresh per run, traceable to Viktor's inbox via plus-addressing).
const DEMO_EMAIL = '[email protected]'•••'Lastest-Demo-202605131108!';
const DEMO_NAME = 'Lastest Demo';
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const settle = () => page.waitForLoadState('networkidle').catch(() => {});
// ─── Public phase ────────────────────────────────────────────────────────
stepLogger.log('Scenario 1: Homepage');
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
const accept = page.getByRole('button', { name: /accept|allow|got it|ok$|save preferences/i });Checks run
Notes from the demo run
AI-generatedSchemaGen is a schema.org / structured data generator with an audit tool layered on top, targeted at agency-adjacent SEO buyers (the sign-in placeholder is '[email protected]', not '[email protected]'). The brand is teal/emerald on dark theme, with a stylized neural-network logomark. Public surface is dense: dedicated routes for Audit, Pricing, Guide, Generator/<schema-type>, Contact, and Login, plus a Saved/Dashboard area gated behind auth. The /generator route family is where the product's depth lives, with a route per schema type (HowToItem walked here); each renders a form-first UI for structured data construction. Authentication is magic-link only (Email Magic Link plus Continue with Google), which is a deliberate trust-building choice for an SEO tool but a structural blocker for programmatic baselining of any authenticated page.
- Audit-as-acquisition surfaceThe top-right CTA on the marketing site is 'Audit My Site', not 'Sign Up'. Lets unverified visitors get value before any account creation, then converts them into Sign In via the Saved navigation entry once they want to keep results. Strong product-led top-of-funnel.
- Generator route per schema type/generator/howtoitem renders a HowToItem-specific structured data form; the route shape implies the same per-type forms exist for Article, Product, FAQPage, and others. Discoverable URL structure that doubles as long-tail SEO landing pages for the product itself.
- Sign-in copy targets the right buyerEmail placeholder reads '[email protected]' rather than '[email protected]'. Small detail that signals 'we know who buys this'; SEO agencies are the obvious primary audience.
- Free-to-start under the heading'Free to start, no credit card required' sits in the sign-in subheading, not buried on /pricing. Lowers the perceived friction of clicking the Continue-with-Google button.
- Magic-link-only auth blocks automationThe Sign In / Sign Up flow has only two paths: Google OAuth and Email Magic Link. There is no password-based registration. Programmatic baselining of the authenticated /dashboard, /audit-results, /generator/<type> surfaces is therefore impossible without manually clicking a verification link in the inbox. For human users this is excellent (no password to forget); for partner integrations and automated tooling, it's a hard wall.
- Single accent color works against route hierarchyEvery clickable element across the site uses the same teal accent: top nav, hero CTAs, footer links, sign-in button. Without secondary/tertiary tonal variation, the eye flattens the visual hierarchy and the primary action on each page reads as less primary than it should.
- /dashboard, /app, /audit-results, /generator/howtoitem (post-fill state)·All gated by magic-link auth. Without an automated way to click the verification link, the authenticated surface cannot be captured from a clean runner identity.
- Continue with Google·OAuth flow redirects to accounts.google.com which Playwright cannot complete from a clean runner identity.
Share this run
This test was built for schemagen.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.