Overview
Machi iOS is not a Web wrapper. It has local persistence, drafts, Keychain-protected credentials and recovery-oriented sync.
An offline-first iOS client built with SwiftUI and SwiftData, covering home, discovery, publishing, notifications, messages, profile and settings.
Tech Stack
My Role
iOS architecture, SwiftUI screens, local data layer, sync service, auth and product features
Problem
Keeping offline browsing, drafts, sync recovery and the shared backend cleanly separated.
Solution
I split local persistence, repositories, services and Keychain-backed auth into clear boundaries.
Result
Built a native iOS foundation that can share accounts, posts, messages, notifications and membership with Machi Web.
Machi iOS is not a Web wrapper. It has local persistence, drafts, Keychain-protected credentials and recovery-oriented sync.
SwiftUI 负责界面和 NavigationStack;SwiftData 负责本地持久化;Repository 管理本地实体;Service 管理认证、网络、同步和偏好。
Machi iOS is the native iOS client for Machi. It is a real product client with publishing, interactions, messages, notifications, city channels and membership state.
Offline-first is not just caching. It means designing data, sync, failure recovery and user experience together.