Challenges
Live sport sets the pace: immovable tournament deadlines, traffic spikes in the millions, real-time data that must stay consistent across every screen, and web experiences to embed in a native SwiftUI app, all without denting stability. Meanwhile, in-app messaging had grown into two competing systems that could bury important prompts. And a personal one: I joined from a React Native background and had to become productive in Swift and SwiftUI in a short span.
My Contributions
- Reliability at scale: helped keep the app stable and crash-free while shipping major features on a continuous release cadence.
- World Cup releases: delivered the app's highest-stakes release against an immovable tournament deadline, landing Sensi, Moments V2 and the prediction results overlay.
- Nudge coordinator: unified two competing toast/prompt systems into a single priority-driven coordinator that arbitrates every toast, sheet and alert, predictable sequencing, nothing overlapping or lost behind modals.
- Live match sync: kept live scores and match events consistent across every surface showing the same game, home feed, scores hub and Match Centre, updating in real time.
- Sensible Soccer™ game WebView integration: embedded the multiplayer web experience into the native SwiftUI app, solving forced-landscape rotation, native↔web bridging and lifecycle handling without disrupting the rest of the UI.
- Virtual Play By Play: integrated the WebView-driven live match recreation into Match Centre, an animated real-time view of the action synced to live match data.
Outcome
Three years of continuous delivery: the app has grown past 6 million downloads while holding a 99.8% crash-free rate, and every major live-sport moment, including a World Cup that brought the highest traffic in its history, shipped on time. The codebase kept pace too: fully SwiftUI, Swift 6 strict concurrency, modular, and an architecture that lets features keep landing fast.



