In this video· click a step to jump to it
Test recording
Meshdiff — app walkthrough
173,208 ms · 228,337 pixels changed
We built this regression test for meshdiff.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against meshdiff.com. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36';
await page.context().setExtraHTTPHeaders({ 'User-Agent': UA }).catch(() => {});
for (const pat of [
'**/cdn-cgi/scripts/**/email-decode.min.js',
'**/browser.sentry-cdn.com/**',
'**/cdn.segment.com/**',
'**/www.googletagmanager.com/**',
'**/static.hotjar.com/**',
]) { await page.route(pat, r => r.abort()).catch(() => {}); }
let n = 0;Checks run
Notes from the demo run
AI-generatedWe signed up for Meshdiff, created two review projects, took the guided tour on your Sample Project and ran the v1 to v2 bracket diff end to end. The compare screen is the strongest thing you've built: two synced viewports on top, the combined voxel overlay underneath in green/red, and the Geometric Delta panel reading +1640 mm3, +42.9% volume, Size delta Y 4.0 mm — all on one screen with no scrolling. A hardware lead would understand what changed in about three seconds.
- The compare view answers the question in one screenAdded voxels +6,264, removed -1,218, volume delta +42.9%, tolerance 0.15 mm as tiles under the 3D view. You didn't make anyone dig for the number that matters.
- Sample Project is seeded before the first clickA brand-new account already has bracket-v1.stl and bracket-v2.stl with a real diff between them. We reached your core value screen without uploading anything — that's the right call, and rarer than it should be.
- Printability is stated as a rule, not a verdictThe project page spells out pass/warn/fail thresholds (thin walls <0.8mm, overhang >55deg / >60deg, unsupported area >20% / >30%) right next to the result. Engineers trust a tool more when the rubric is visible.
- Version history reads like a changelog'v1 to v2 — Volume increased by 1640 mm3 (42.9%). Bounding box changed by 0.0 x 4.0 x 0.0 mm. Printability status: pass.' written in prose next to +6,264 / -1,218. That entry is the product in one line.
- Tour is skippable and doesn't block the workspace'Show me around' is opt-in via a button rather than an unskippable modal on first load. Our walk reached the workspace without fighting an overlay.
- Unknown URLs render a developer error page, not a 404Visiting /settings, /account, /teams or /billing shows 'Unexpected Application Error! 404 Not Found' followed by the React Router dev message '💿 Hey developer 👋 — You can provide a way better UX than this when your app throws errors'. Anyone landing on a stale or mistyped link sees your framework's internals. A catch-all route with a real 404 page is a one-file fix.
- No settings or account route exists in the app shellThe sidebar offers Sign Out and a language picker but no way to reach account, billing or team settings — the only Upgrade path is the trial banner. Worth adding before the trials start expiring.
- upload new version·Upload is a Pro feature and disabled on the sample project, so we exercised the existing v1/v2 diff instead.
13 visual changes
Share this run
Proof your app is not AI slop
This test was built for meshdiff.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.






































