In this video· click a step to jump to it
Test recording
Smart Scraper — app walkthrough
41,678 ms · 8,762 pixels changed
We built this regression test for lustrous-mandazi-dc139a.netlify.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against lustrous-mandazi-dc139a.netlify.app. 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) => page.screenshot({ path: screenshotPath.replace('.png', `-${n}-${slug}.png`), fullPage: true });
await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
await page.waitForTimeout(1500);
await shot(1, 'home-authed');
stepLogger.log('Home — authenticated via Netlify Identity storage_state');
const loggedIn = await page.getByRole('button', { name: 'Log out' }).first().isVisible().catch(() => false);
if (!loggedIn) {
throw new Error('Session did not start authenticated: "Log out" control not visible on load');
}Checks run
Notes from the demo run
AI-generatedSmart Scraper is a StreamlitNetlifyCollab demo showing a hybrid Python architecture: a Netlify-hosted frontend gated by Netlify Identity calls a protected Netlify Function that proxies to a real FastAPI backend doing BS4 scraping + pandas analysis. Once authenticated, the tool actually hits live pages and returns structured results (headlines, links, metadata, HTML tables) with CSV/JSON export and a 'Recent runs' history panel scoped to the browser.
- Real backend, not a mockupRun Analysis genuinely calls a FastAPI backend through an authenticated Netlify Function proxy — the token never reaches Python directly, a solid security pattern to show off.
- Offline Demo Data fallbackA 'Demo Data' button lets visitors see a populated result instantly without waiting on a live scrape — good onboarding UX for a technical tool.
- Six distinct analysis tasksHeadlines, Prices & Offers, All Links, Key Paragraphs, Page Metadata, and pandas-powered HTML Tables all live behind the same input, showing real breadth for a v2 demo project.
- Scrape of news.ycombinator.com returned 0 itemsThe Headlines task against a real, popular target page came back with an empty result set — likely a selector mismatch or the target's DOM not matching the scraper's expected structure. Worth a look since HN is a common test target.
- Low accessibility score (40/45 rules, 4 critical)Automated a11y scan flagged 4 critical violations — likely contrast or missing labels on the retro 8-bit-styled UI elements.
9 visual changes
Share this run
Proof your app is not AI slop
This test was built for lustrous-mandazi-dc139a.netlify.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.


























