The challenge
I wanted to know, effortlessly, how much comes in and goes out each month, how much I can spend at the weekend without breaking my savings goal, and when I'm overspending. Spreadsheets get abandoned; I needed something quick to use every day.
The solution
Monthly tracking
of income and expenses by category, with essential categories flagged.
Savings goal
and a calculation of how much you can spend each weekend.
Budgets per category
with alerts as you approach the limit.
Recurring transactions
(salary, rent, subscriptions) that log themselves.
Multiple currencies
each transaction stores the original amount, the exchange rate used and the amount in your base currency.
Light and dark themes
Demo mode
anyone can try it in one click with sample data, no sign-up needed.
Outcome
I use it every day for my own finances. It's the project where I've gone deepest into security and data modelling.
For developers
Next.js (App Router) + TypeScript · Supabase (Postgres + Auth)
Row Level Security on every table: each user can only access their own rows (
user_id = auth.uid())Cascading deletion of user data
Currency conversion with an exchange-rate history (
exchange_rate_snapshots) and the applied rate stored on each transactionDemo mode with Supabase anonymous users: data seeded by a trigger, automatic clean-up with
pg_cron, and email sign-up blocked server-side with a Before User Created HookDeployed on Vercel
