For four years I was the sole iOS developer for Sonato, a hospitality platform for private member clubs, owning product, design, and engineering for the app members use to book, order, and get into their clubs.

I rebuilt the app fully native, from scratch in SwiftUI: four years of daily work, from an empty Xcode project to the app a global membership relies on while traveling. It reached a 5-star App Store rating across 250+ ratings, with 99.95% crash-free sessions across its entire release history. I drove feature development and releases day to day with agentic coding workflows.

Members use Sonato for the whole visit: plan a trip to their club or a partner club, book dining and hotel stays, RSVP to events and buy tickets, message the club in real time, and check in at the door.

Two minutes of the app in action: discovery, dining, stays, events, and the Wallet pass.

Two engineering choices defined the app. It’s offline-first, because members are in transit: on flights, in airports, in hotels with throttled Wi-Fi. Reservations, tickets, message history, and member context all live in a local Core Data store and reconcile with the server when the network returns, so the app keeps working in airplane mode. And when the platform’s backend was rebuilt on a new system mid-project, I routed every networking call through one abstraction with two backing implementations, so features migrated to the new backend one at a time while the old one still served production. The final cutover was a two-line change that members never noticed.

The biggest single project within this work was Sonato Pass, an Apple Wallet membership pass with NFC.

Coverage