Open-Source Personal Finance Platform for Up Bank
A personal finance app that turns raw bank transactions into merchant-level spending breakdowns, category analytics, FIRE planning, investment tracking, and drag-and-drop budgeting for individuals and couples. Built with a multi-provider AI assistant that queries spending data directly.
Up Bank is an Australian neobank with a developer-friendly API and real-time webhook system. No existing tool combined couples budgeting, FIRE planning, and AI-driven spending analysis into a single interface.
Sole developer. Designed, built, and deployed the full platform, from architecture through to production CI/CD.
Highlights
Merchant-level spending analytics
Full transaction history per merchant with total spend, average purchase size, and visit frequency. Category views group merchants with trend charts over configurable time ranges
Couples budgeting with income-weighted splitting
Each partner gets their own budget view plus a combined household view. Expense splitting per category (rent 60/40, groceries 50/50). Three preset methodologies (50-30-20, Pay Yourself First, 80-20) with typed discriminated unions for each budget row
FIRE planning and live investment tracking
Australian two-bucket retirement calculator with configurable withdrawal rates. Investment portfolios (stocks, ETFs, crypto, property) with live prices via Yahoo Finance and CoinGecko. Net worth tracking and savings rate milestones toward financial independence
Real-time webhook pipeline
Tap your card and the purchase shows up in seconds. HMAC-SHA256 verification, balance updates for both partners, and async AI categorisation. Connection onboarding wizard with graceful failure handling
Multi-provider AI assistant
35+ financial tools that query the database directly: spending summaries, budget analysis, investment breakdowns. Supports Claude, GPT-4o, and Gemini with a model selector. Each tool is typed end-to-end from Zod schema to database query
Security-first development
OpenSSF Scorecard and Best Practices certified. OWASP security audit completed with critical CSRF bypass fixed (startsWith replaced with URL.origin validation). Full Supabase Row-Level Security across all tables