In this video· click a step to jump to it
Test recording
Spenny AI — app walkthrough
97,622 ms · 92,561 pixels changed
We built this regression test for app.spennyai.in — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against app.spennyai.in. 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 created an account, skipped the demo, opened Sage and logged an expense in plain English, then walked Transactions, Analytics, Budgets, Investments, Credit Cards, Subscriptions, Integrations, Billing and Settings. Signup to a usable chat took under a minute with no email verification, and the empty state offers eleven specific prompts rather than a blinking cursor. Sage itself parses free text well. The problem is what happens to the expense afterwards.
- No email verification between signup and the productCreate account, a short demo animation, 'You're all set', Sage. Most finance tools put a verification round-trip here and lose people at the inbox tab.
- Sage parses a messy sentence into a clean record'Log expense: 18.40 on Lunch at Dishoom today' came back as a structured card: merchant 'Lunch at Dishoom', category 'Food', amount Rs 18.40, with an undo arrow. The parsing and the auto-categorisation are the hard part and they work.
- Nine real sections behind the chatTransactions, Analytics, Budgets, Investments, Credit Cards, Subscriptions, Integrations, Billing and Settings are all built out. The chat is a front door to a real app, not the whole app.
- Sage says '1 expense(s) logged successfully' and Transactions stays emptyAt 03:01 Sage returned a green-ticked card reading '1 expense(s) logged successfully - Lunch at Dishoom, Food, Rs 18.40'. Four minutes later /transactions still read 'No transactions yet' and /analytics still read 'No data to display. Add some expenses first.' Your own Manage Subscription usage meter agrees with the empty list: 'Sage messages 3 / 30' but 'Transactions 0 / 50'. We reproduced it twice, on two different phrasings. A confident write confirmation that never lands is the worst failure mode a finance tracker can have, and it is invisible unless the user checks another tab.
- Every Sage reply takes 25 to 40 secondsThe staged status text ('Tagging the category', 'Thinking through your finances', 'Analyzing spending patterns') is a nice touch, but half a minute to log a coffee is slower than typing it into a form. An optimistic row in Transactions while the model works would make the wait invisible.
7 visual changes
Share this run
Proof your app is not AI slop
This test was built for app.spennyai.in — 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.




















