In this video· click a step to jump to it
Test recording
DevFolioX — app walkthrough
89,574 ms · 0 pixels changed · matches baseline
We built this regression test for portfolio-builder-miia.onrender.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against portfolio-builder-miia.onrender.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/**',
'**/connect.facebook.net/**',
'**/www.googletagmanager.com/**',
'**/static.hotjar.com/**',
'**/*.clarity.ms/**',
]) { await page.route(pat, r => r.abort()).catch(() => {}); }Checks run
Notes from the demo run
AI-generatedWe signed in with Google and built a real portfolio in DevFolioX: named a variant, aimed it at a target role, filled the profile block, added experience, project and skill rows, ran your health check and stepped through the desktop, tablet and mobile previews. The split-pane is the thing that works. Every field we typed on the left appeared in the live preview on the right immediately, so by the third input it was already obvious what the product does without reading any instructions.
- Live preview earns the split-paneTyping a name, role and tagline rendered a styled portfolio hero in real time, headline, availability chip, location and contact email included. No save-and-refresh loop anywhere in the flow.
- Variants are the real idea'Each portfolio keeps its own content' plus Duplicate and Target role is a sharper pitch than 'portfolio builder'. Tailoring one CV per role is the actual job, and the UI is built around it rather than bolting it on.
- Health check is specific, not a scoreIt returned 1 needs-attention, 2 improvements, 1 optional, each naming the exact gap ('No projects are targeted') with an Open Targeting link straight to the fix. Far more actionable than a percentage.
- Health modal has no escape besides DoneThe Portfolio Health dialog ignores Escape and outside-clicks; only the Done button closes it. Our first automated pass got stuck behind it and every later screenshot captured the modal instead of the builder. A real user with a trackpad will click outside it and wonder why nothing happens.
- Cold start on the free Render tierFirst load after an idle period took roughly 30-40 seconds before the builder painted. A visitor arriving from your launch tweet may well assume the link is broken. A lightweight static landing page in front of the app would absorb that.
Share this run
Proof your app is not AI slop
This test was built for portfolio-builder-miia.onrender.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.