Moma
A budget management iOS app designed for multi-currency expense tracking, helping users monitor spending across different currencies and accounts without touching their real money.
Problem
People living or working across countries need to track expenses in multiple currencies. Most budgeting apps assume a single currency, making cross-border expense management cumbersome and error-prone.
My Role
Responsible for architecture and feature design, and all backend development. Worked on the product from concept to App Store launch.
Architecture / Approach
Built a native iOS app with Swift and SwiftUI for a smooth, responsive user experience. Designed a Go backend to handle multi-currency data, account management, and user sync. Focused on making daily expense recording as fast and frictionless as possible.
- Multi-currency support with per-transaction currency selection (SGD, CNY, etc.)
- Three transaction types: Expense, Income, and Transfer between accounts
- Category-based expense classification for spending analysis
- Multiple account management (Cash, PayPal, Debit, etc.)
- Monthly and daily statistics with visual breakdowns
- Budget setting and tracking
Screenshots




Key Decisions
- Chose native Swift/SwiftUI over cross-platform to deliver the best iOS experience
- Designed the data model to be currency-agnostic so adding new currencies requires no schema changes
- Prioritized recording speed — users can log an expense in a few taps
Result
Shipped to the App Store as a fully functional budgeting app with multi-currency tracking, account management, and spending analytics.
What I Learned
Gained end-to-end experience shipping an iOS product — from architecture design and backend API development through App Store review and launch. Learned how product decisions around UX simplicity directly affect user adoption.
Back to Projects