SpendWise is building a personal finance app where users track their daily expenses. Features:
- Add expenses - log amount, category (food, transport, entertainment, etc.), date, and notes. Support multiple currencies.•Categories & budgets - set monthly budgets per category. Show progress bars (e.g., "Food: $320 / $500 spent").•Recurring expenses - mark expenses as recurring (daily, weekly, monthly). Auto-create entries.•Reports - monthly/yearly summaries with breakdown by category (pie chart data), spending trends over time (line chart data).•Export - export expenses as CSV or PDF for tax purposes.•Multi-device sync - expenses sync across phone, tablet, and web.
Targeting 25,000 users with 15,000 DAU.
Design a personal expense tracking app with categories, budgets, recurring expenses, and monthly reports. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Request path: The solution keeps ingress, service logic, and stateful dependencies separated so each layer can scale independently.
Reference flow: Web Clients -> API Gateway -> API Service -> Auth Service -> Primary SQL DB