Native iOS 26 SwiftUI app for personal finance tracking. Uses the same Firebase backend as the Moneyboy PWA.
- Xcode 26+
- iOS 26+ deployment target
- Firebase project (same as PWA:
moneyboy-2f088)
- Clone the repo
- Add
GoogleService-Info.plisttoMoneyboy/(download from Firebase Console) - Open
Moneyboy.xcodeprojin Xcode - Add Firebase iOS SDK via SPM:
https://github.com/firebase/firebase-ios-sdk- Products: FirebaseAuth, FirebaseFirestore, FirebaseMessaging
- Build & run
- Models:
FinanceItem,ScenarioData,FinanceSummary— match PWA Firestore schema exactly - Services:
AuthService,FirestoreService,ScenarioService,NotificationService - ViewModels:
AppViewModel,WhatIfViewModel,SettingsViewModel - Views: SwiftUI views using iOS 26 Liquid Glass (
.glassEffect())
- Hide: short trailing swipe → toggles
excluded. Item stays visible but is greyed out and excluded from totals. - Delete: full trailing swipe (iOS Mail style) → moves the item to Recently Deleted (
deletedAttimestamp set). Active lists, totals, and subscription reminders ignore deleted items immediately. - Restore / Purge: Settings → Recently Deleted. Leading swipe restores, trailing swipe deletes permanently. Items auto-purge after 30 days; the cutoff runs on app launch.
Same paths as PWA:
users/{uid}/items/{itemId} — FinanceItem documents
users/{uid}/scenarios/whatif — ScenarioData document
users/{uid}/fcmTokens/{token} — FCM token documents