Case study

MyAXA Spain

AXA Group is one of the world's leading insurance and asset management companies, headquartered in Paris, France. Founded in 1817, it operates across Europe, North America, Asia-Pacific, Africa and the Middle East. In Spain, AXA provides its policyholders with the MyAXA mobile app — a multi-tenant platform — to manage their policies and access services digitally.

4.6 / 5

on App Store

18k

ratings on the App Store

6 languages

Spanish · Catalan · Basque · Galician · English · German

Client

  • Headquarters

    Paris, France

  • Industry

    Insurance and asset management

  • Founded

    1817

Product

  • Platform

    iOS (iPhone)

  • Architecture

    Multi-tenant

  • Languages

    Spanish, Catalan, Basque, Galician, English, German

The challenge

The AXA Spain mobile team needed an experienced senior iOS engineer to take over maintenance of MyAXA — the main mobile app of the AXA Group in Spain, with a large active user base — and clear a critical backlog. The main priorities were resolving long-standing bugs that had blocked previous releases, implementing new features — including a progressive UIKit to SwiftUI migration —, strengthening app security and modernising the release cycle, all without disrupting service for the live user base. As MyAXA is the primary tenant of a multi-tenant architecture shared with other Group apps, any technical change had to propagate in a controlled way across the rest of the ecosystem.

The solution

AtalayaSoft assigned Francisco José García Navarro as an external senior iOS engineer embedded in the AXA Spain mobile team. His role covered four complementary workstreams in parallel:

1. Progressive UIKit to SwiftUI migration at enterprise scale

As senior iOS reinforcement on the MyAXA app, Francisco led the progressive migration of the UIKit codebase to SwiftUI. MyAXA was a mature UIKit application with several years of accumulated code and a large active user base; any disruptive change would have meant unacceptable service risk. The strategy was an incremental, screen-by-screen migration, running both frameworks in production simultaneously via UIHostingController (the native bridge between UIKit and SwiftUI), in parallel with ongoing feature delivery.

2. New screen development in SwiftUI with MVVM

New product features were built directly in SwiftUI, leveraging its declarative system to reduce UI code volume and simplify adaptive layouts across the multiple languages supported by the app. MVVM pattern with reactive bindings to connect data and views, clean integration with pre-existing UIKit modules and consistency with the AXA Group visual system. Result: shorter product iteration cycles and a smaller UI bug surface.

3. Work on the AXA Group multi-tenant architecture

MyAXA is the main AXA Group app in Spain and operates under a multi-tenant model: a single codebase adapts to different brands, markets and business configurations across the Group. As the reference tenant, technical changes introduced in MyAXA — including the SwiftUI migration — had to be compatible with the rest of the ecosystem and propagable in a controlled way to the Group's other apps. Francisco worked respecting the separation between common logic and tenant-specific configuration, ensuring each improvement could serve as a template for the other brands.

4. Support for QA, release cycle and cross-platform coordination

In parallel with the technical work, Francisco supported the mobile team on release operations and coordination with the other platforms:

  • Full audit of the existing iOS codebase to identify technical debt and improvement areas.
  • Creation of internal use cases for QA, increasing confidence in release quality.
  • Distribution of beta builds via TestFlight for internal validation before each App Store release.
  • Alignment of features, UI elements and content with the Android team to ensure a consistent experience regardless of device.

Featured technical achievements

UIKit to SwiftUI migration at enterprise scale

MyAXA was a mature UIKit application with several years of accumulated code, support for 6 languages (Spanish, Catalan, Basque, Galician, English and German) and a large active user base. Francisco led the incremental migration from UIKit to SwiftUI (Apple's modern declarative UI framework, introduced in 2019 and now the recommended approach for new iOS development). Rather than a disruptive full rewrite, the migration was carried out screen by screen alongside ongoing feature delivery, minimising risk to the live app. New screens were developed directly in SwiftUI, progressively shifting the codebase to Apple's current UI paradigm and reducing long-term maintenance overhead. At this scale — the main app of one of the world's largest insurers in Spain — the migration required thorough validation across all six supported languages and controlled propagation through the Group's multi-tenant ecosystem.

Swift Concurrency in critical insurance flows

Francisco migrated key asynchronous flows in the app — authentication, policy lookup and management, claims submission and loading of sensitive policyholder data — to the Swift Concurrency async/await model (Apple's modern concurrency model, which allows asynchronous code to be written with linear syntax instead of nested closures). In an insurance-sector app, where the reliability of policyholder data flows is critical and asynchronous errors can have regulatory impact, adopting async/await delivered more predictable code, errors that are easier to spot in review and simpler maintenance for the internal team. Improvements were aligned with the practices required by the AXA Group for sector applications.

Technologies and services used

  • Language: Swift
  • UI frameworks: UIKit (existing codebase), SwiftUI (migration and new screens)
  • Architectural pattern: MVVM with reactive bindings
  • Architecture: multi-tenant (AXA Group shared codebase, MyAXA as primary tenant)
  • Concurrency: Swift Concurrency — async/await
  • UIKit/SwiftUI bridge: UIHostingController
  • Internal distribution: TestFlight
  • Cross-platform coordination: UX and content alignment with the Android team
  • AtalayaSoft service applied: Senior iOS Engineer for your team
MyAXA Spain iOS app screenshot

Need something similar for your iOS app?

If your team needs a senior iOS engineer to reinforce development or maintenance of your app, let's talk. We respond within one business day.