A payment feature built to ship across countries from one module
Situation
One of Europe's largest banks wanted a new payment feature inside its live iOS app: configurable per country, flexible enough to take on further features, identical in experience to Android, and delivered by a small team inside a live codebase.
What I did
Owned the iOS side end to end. Designed the module to be reusable across markets and pluggable into the app's architecture, then built two iterations of it in Swift and its latest frameworks — SwiftUI, Concurrency and Observation — covering onboarding, profile and the full payment-card lifecycle. Agreed the architecture with the Android and BFF engineers so business logic is implemented once, in the right layer; sharpened requirements and designs with product and design as the feature took shape; and raised the bar for the wider iOS chapter on SwiftUI adoption, bi-directional UIKit–SwiftUI interoperability and documentation.
Outcome
- Module released, on schedule
- 1
- Iterations shipped, each a distinct experience
- 2
- Countries: Belgium and Italy
- 2









