In this video· click a step to jump to it
Test recording
Moneyplain — app walkthrough
84,047 ms · 123 pixels changed
We built this regression test for www.moneyplain.app — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against www.moneyplain.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) => 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, 1300); await new Promise(r => setTimeout(r, 300)); await anim(max, 0, 700); })()";
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' });
for (const pattern of ['**/cdn-cgi/scripts/**/email-decode.min.js', '**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/www.googletagmanager.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
// ── 1. Member desk (session replayed via setupOverrides storage_state)
stepLogger.log('Scenario 1: member dashboard');
await page.goto(baseUrl + '/dashboard', { waitUntil: 'domcontentloaded' });Checks run
Notes from the demo run
AI-generatedWe created a free Moneyplain account and drove the whole member desk: dashboard, daily market report, momentum data, research agent, community and account, then put real numbers through the compound-interest calculator and answered the risk-profile quiz. The typography-led, editorial design is the most distinctive thing about it - it reads like a finance magazine rather than a dashboard, and the FREE LESSONS / NO PRODUCTS SOLD / NOT ADVICE line in the footer is doing a lot of trust work.
- Signup to signed-in workspace with zero frictionName, email, password, Create account - and you land straight on /dashboard as a FREE MEMBER. No email verification, no onboarding wizard, no credit card. For an education product where the goal is to get someone reading lesson one, that is exactly right.
- The free tier is real, not a teaserEleven lessons, eight calculators and the market board stay open with no upgrade prompt in the way. The Pro services show a genuine preview of the content rather than a blank paywall, so a free member can see what they would be buying.
- The calculators respond instantly and in plain languageDragging the starting amount from $5,000 to $64,000 updates the projection live, and the Nominal / Today's money toggle is a smarter default than most retirement calculators offer. The risk quiz explains why each question matters underneath it.
- Lesson progress is saved in the browser, not to the accountThe dashboard says Progress is saved in this browser under LESSON PROGRESS 0/11 - even though we were signed in. Someone who does three lessons on a laptop and opens the site on their phone will silently start from zero, which undercuts the main reason to create an account in the first place.
- Sign up with Google is styled differently from the email form it sits aboveThe Google button reads Sign up with Google on /signup but Continue with Google on /login. Matching the two labels is cosmetic, but on an auth screen inconsistent wording is the kind of thing that makes people pause.
- /pricing checkout·Paid upgrade flow - deliberately not exercised
Visual change
Share this run
Proof your app is not AI slop
This test was built for www.moneyplain.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.


