A deterministic financial planning web app for Australian consumers. The user enters income, expenses, and a savings goal. The engine computes every mathematically feasible savings pathway, presents three representative options, and generates a payday-by-payday schedule. When life changes, the system recalculates from the user's actual position. No AI in calculations, no bank integrations, no real money movement.
Auth and Accounts
Low
Email/password, verification, reset, 30-min timeout, hard account deletion. Two roles: Customer + Admin (read-only audit, RBAC).
Financial Profile
Low
8-field input form with validation. Optional ledger transfer for Existing Savings allocation. Edit = full plan reset.
Feasible Range Calculator
Med-High
Core new component. Computes every whole-dollar savings pathway within the customer's financial boundaries. Each point requires a full schedule projection. Performance-sensitive for large headroom values.
Schedule Builder (State Machine)
Med-High
Multi-phase engine: Build, Pool Active, Pool Depleted (triggers re-evaluation), Goal Reached. Strict ledger rules, remainder handling, goal capping. One payday = one phase, always.
Pathway Generator
Medium
Draws 3 headline pathways (Faster Goal, Balanced, More Spending) from the feasible range. Reserve calculation, edge cases for headroom producing fewer than 3 options.
Ledger System
Medium
6 separate balances per user. No negative balances, no double-counting, every transfer nets to zero. Full reconciliation check on every event.
Adaptive Recalculation
Medium
V1: savings withdrawal only. Preserves completed history, generates new pathways from current state. Architecture must support future change types without engine rebuild.
Schedule History
Medium
Event-sourced. Immutable completed records. Superseded projections retained, not deleted. Version linking. Up to 20 versions per user.
Calendar Engine
Low
Generates payday dates for weekly, fortnightly, monthly cycles. Month-end fallback logic. Deterministic. No holiday/weekend adjustment.
UI (All Screens)
Medium
9 screens: auth, dashboard (3 states), profile, pathway comparison, schedule timeline, something-changed, history, admin audit. If Explore ships in V1, add an interactive range-browsing component.
Where the complexity lives
The app is structurally straightforward (standard web app, no integrations, no third-party APIs). Almost all complexity is concentrated in the calculation engine: the Feasible Range Calculator must run potentially hundreds of full schedule projections per profile, the Schedule Builder enforces strict multi-phase state transitions with ledger integrity on every payday, and the two must produce byte-identical results whether called from pathway generation, schedule display, or adaptive recalculation. Everything else (auth, UI, calendar, profile CRUD) is standard.
Overall assessment: A medium-complexity web application. Infrastructure and UI are standard. The engine is where effort concentrates. The feasible range concept (client's latest direction) adds computational density and a performance consideration that did not exist in the original brief. The independent testing protocol is a meaningful line item: it requires dedicated scenario design, external reviewer coordination, and reconciliation cycles before launch.