Personal finance app · 2026
Finch
A dark, Mercury-styled personal finance dashboard: transactions, categories, budgets, and savings goals with a deterministic pace/advice engine. Built a guest mode that clones an isolated demo dataset per session, email/password and Google sign-in, and a bilingual version of the app (EN/RU).
Tools
- Next.js
- TypeScript
- Prisma
- PostgreSQL
- Auth.js
- next-intl



How it's built
Key decisions
Guest mode with no data bleed
Instead of one shared demo account, every "Continue as guest" click clones a realistic dataset into a fresh, isolated user — guests never see or affect each other's data.
Savings advice with no background jobs
Savings-goal pace advice is computed deterministically on every render, comparing actual vs. required contribution pace. Simpler and more reliable than running a scheduled job just to keep a number that's cheap to calculate on the fly.
Rate limiting sized to the project
Login/register is protected by a simple in-memory rate limiter — enough for a single instance. Deliberately skipped Redis/Upstash where the actual load doesn't call for it.