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.

Offline-first

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.

One abstraction, two backends

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. Features migrated one at a time while the old backend still served production, and 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.

What clubs say

Once you're a Jacquelyn member, the Sonato app gives you everything you need to explore partner clubs, check availability, and plan your visit before you arrive. No complicated process. No additional fees. Just show up.
The Jacquelyn, Sonato Alliance club

Coverage

Run a club? I build apps for private members clubs.