The challenge
Six-week deadline, fixed budget, App Store review window included. Authentication had to share with the existing web product. Offline-first because students were using it on the bus without WiFi. Push notifications for assignment reminders. The team had never published an iOS app and Apple's review process was an unknown.
What we did
Native Swift with SwiftUI for the UI. Shared auth via OAuth with the existing Node backend. SwiftData for offline-first sync. Local notifications plus APNs for reminders. We owned the App Store Connect setup, the listing copy, the screenshots, and the App Review responses.
The outcome
Submitted to the App Store on day 38. Approved on first review. In TestFlight beta with 80 students by day 42. Public launch on day 44, two days before the board meeting.