Back to Projects
Duftee
Moma icon

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.

SwiftSwiftUIGoiOS

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

Moma app homepage showing monthly expense and income summary with account balances
Dashboard with monthly expense/income overview, multiple accounts (Cash, PayPal), and recent transaction history
Moma app expense recording screen with category selection and numeric keypad
Quick expense recording with category classification (Food, Home, Dressing, etc.) and per-transaction currency selection
Moma app multi-currency selection screen showing available currencies with country flags
Multi-currency support — add and switch between currencies (SGD, EUR, USD, CNY, and more) for cross-border expense tracking
Moma app statistics view with donut chart showing spending breakdown by category
Monthly spending analytics with category breakdown and percentage visualization

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