SaaS2024
Spendee
Full-stack personal finance & expense tracker with multi-wallet budgets.
A passion project: a full-stack personal finance & expense tracker built with React 18, TypeScript, Vite and Supabase (PostgreSQL). Users manage multiple wallets, record income, expenses and inter-wallet transfers, and balances update in real time.
The highlight is a recurring-budget engine that uses PostgreSQL functions and views to compute per-period spending stats — remaining amount, daily pace, and overspend warnings (good / warning / exceeded).
Architecture
- Frontend: React 18 + TypeScript + Vite, React Router v6, Tailwind CSS and Radix UI (shadcn-style) with light/dark theming.
- Data: Supabase (PostgreSQL) with Row-Level Security for strict per-user isolation; budget stats computed server-side via Postgres RPC functions & views.
- Server state: TanStack React Query for caching and optimistic invalidation.
- Analytics: Recharts category, balance-trend and spending charts; advanced filtering (category, type, date range, amount, notes) and CSV export.
Tech stack
React 18TypeScriptViteReact Router v6Tailwind CSSRadix UIRechartsSupabasePostgreSQL (RLS)TanStack Query