7days

Solo iOS Developer

MoneyManager is an iOS-first personal finance app focused on privacy-first tracking. It supports manual transaction logging, timeline grouping, dashboard insights, merchant memory, budget warnings, CloudKit sync, and export.

My contribution

I designed the architecture, implemented Core Data + CloudKit persistence, built the repository/service/viewmodel layers, and delivered transaction, dashboard, settings, notifications, and export flows end-to-end.

How might we help users track spending and stay in control of money with minimal friction while keeping personal data private and device-centric?

User Needs

A fast and trustworthy way to record spending and monitor financial health daily.

Constraints

Must stay low-cost, privacy-first, and function smoothly offline with eventual sync.

Internal Factors

Need to keep architecture maintainable while shipping many features quickly as a solo developer.

External Factors

Users are sensitive about financial privacy and expect reliable syncing and clear insights.

A layered SwiftUI app (UI -> ViewModel -> Repository -> Core Data) backed by NSPersistentCloudKitContainer, with modular services for transaction entry, dashboard analytics, merchant suggestions, budgets, notifications, and export.

Deliverables

  1. 01Core Data entity model and repository layer
  2. 02Transaction CRUD and timeline interface
  3. 03Dashboard financial insights and budget warnings
  4. 04Merchant memory and suggestion services
  5. 05Notification scheduling and settings modules
  6. 06CSV/JSON export service
  7. 07Automated unit test suite

Key Decisions

  1. 01Privacy-first architecture with Core Data as local source of truth
  2. 02NSPersistentCloudKitContainer for seamless sync/restore
  3. 03Strict UI -> ViewModel -> Repository separation for maintainability
  4. 04Configurable budget thresholds and category budget alerts
  5. 05Service-level and viewmodel-level automated tests for critical flows

Process

01

Architecture and domain modeling

02

Core Data + CloudKit persistence setup

03

Repository and service layer implementation

04

Transaction, dashboard, and settings delivery

05

Automated test coverage and iterative refinement

Delivered a production-ready finance foundation with validated CRUD flows, timeline grouping, dashboard calculations, budget alerts, iCloud-ready sync plumbing, and broad unit-test coverage across repositories/services/viewmodels.

  • GustavoSolo iOS Developer