System Architecture

ExpenseMate follows a modern service-oriented architecture with five main components:
-
iOS App: Built with Swift and SwiftUI. It serves as the primary user interface, handling receipt scans, expense tracking, and group management. It communicates with Firebase for authentication, the Backend API for data operations, and receives push notifications via APNs.
-
Backend API: Developed with FastAPI and deployed on Google Cloud Run. It manages all business logic, receipt processing, data validation, and API requests from the iOS app. It validates Firebase tokens, sends push notifications via APNs, and interacts securely with the database.
-
Database: A PostgreSQL instance hosted on Google Cloud SQL. It stores all core application data including users, groups, expenses, receipts, and device tokens. It is only accessed by the Backend.
-
Firebase: Used for authentication and cloud messaging. It issues tokens to the iOS app, which the Backend validates. It also manages sessions and push notification tokens.
-
Marketing Website: A standalone Next.js application hosted on Vercel. It serves marketing content, links to the App Store, and hosts documentation. It has no direct interaction with the other systems.
Key Features
• Smart Bill Splitting: Automatically calculate each person's share based on custom rules and percentages.
• Receipt Scanning: Snap a photo and let ExpenseMate extract items and calculate splits automatically.
• Group Management: Create and organize multiple groups for different events or living situations.
• Expense Tracking: Monitor all expenses and settlements with a clear transaction history.
• Real-time Updates: Receive instant notifications when expenses are added or bills are settled.
• Debt Settlement: Streamline repayments with automated calculations and payment tracking.
Future Roadmap
• Version 1.1 (Q2 2025): One‑tap sign‑in (Google & Apple), German/French, improved onboarding and UI/UX.
• Android App v1.0 (Q3 2025): Full Android launch with iOS feature parity.
• Version 1.2 (Sep 2025): Spanish & Portuguese, improved group creation/sharing, expense categories (iOS early Sep; Android late Sep).
• Version 1.3 (Q4 2025): Offline mode, Excel import, PDF/CSV reports, automatic currency conversion.
• ExpenseMate Web (Q4 2025): Desktop‑optimized web app with dashboards.
• Personal Space (Q1 2026): Personal expense tracking, quick scan, unified view, Excel import.
• Work Space (Q3 2026): Business‑trip tracker, company‑card vs personal toggle, one‑click reports; integrated with Personal Space.
Motivation & Vision
ExpenseMate is built to be the one home for all your spending—trips with friends, personal budgeting, and work reimbursements. It captures, organizes, and reconciles all your spending in one place.
Our vision is a clear, actionable overview: see what your job owes you, what others owe you, what you owe, and what you truly spend. Generate personalized reports for work and personal use in seconds.
Looking ahead to 2026, we aim to add Investment Portfolios so you can represent 100% of your personal finances in one dashboard for expenses, reimbursements, and investments with full transparency.
Behind the app: I'm Tun, building ExpenseMate, the expense-tracker I've always wanted. While I am still growing as a developer and entrepreneur, I am on a mission to make money management simple, complete, and trustworthy.