Case study · Lead engineer · Lebara

Rebuilding Lebara's 6M+ customer app, then launching Travel eSIM

Lebara is a mobile network operating across Europe. I led the rebuild of its flagship app and grew mobile from a team of one to 12 engineers. Then I built Lebara Travel eSIM on my own, from idea to pitch to launch. It reached around 120,000 users in the UK and US within 6 months.

  • 6M+

    customers on the app

  • 3.2 → 4.7

    App Store rating after the rebuild

  • 5.6s → 0.5s

    cold start, via React Native New Architecture

  • 1 → 12

    mobile engineers, grown from a team of one

The app was part of Lebara's recognition as Most Popular Mobile Network (Uswitch 2024) and Best MVNO (Mobile News Awards).

The app rebuild

A large, live app with a low rating, slow launches and fragile releases. The work was sequenced to unblock the biggest problems first.

  • Rebuild with zero downtime

    Moved the flagship app to a new platform while it stayed live for millions of customers. No customer-facing downtime during the switch.

  • Event-driven architecture

    Decoupled UI state from business logic so feature teams could ship in parallel without stepping on each other.

  • Headless CMS for mobile

    Designed and built a headless CMS layer on Adobe Experience Manager, so content and marketing teams could update the app across markets without a release.

  • Payments unblocked

    Traced a critical Adyen payment integration failure to its root cause and shipped a fix in 2 weeks, against a 6-month vendor estimate.

  • Monitoring and stability

    Set up Azure App Insights dashboards and alerting, and fixed the backend errors that were silently hurting the experience.

  • Design system with three token layers

    Built the app's design system on primitive, semantic and component tokens, so a brand or theme change flows through every screen from one place.

  • Test-driven, end to end

    Followed test-driven development for new work, backed by end-to-end tests over the critical customer journeys.

  • Releases and rollout

    Owned the release strategy, feature planning and phased rollouts. Builds, tests and store releases ran through Fastlane and GitHub Actions, with safer rollbacks.

How I worked

  • Hands-on lead

    About 85% of my time went into writing code. The other 15% went into collaboration and communication across teams.

  • Stakeholder negotiation

    Worked with product and business stakeholders to agree scope, trade-offs and timelines for each feature.

Lebara Travel eSIM

A new product built solo: travellers buy and install a data eSIM inside the app, with no physical SIM and no roaming surprises.

  • Native eSIM bridges

    Custom Swift and Kotlin modules exposing iOS CoreTelephony and Android eSIM provisioning to React Native through one JavaScript API.

  • GSMA RSP provisioning

    Activation-code flow against the SM-DP+ server: download, install, enable and disable, with every failure state handled.

  • Provisioning as a state machine

    Payment, download, install and activation modelled in XState, so a failed step retries from where it stopped, not from the start.

  • Built for travellers

    Multi-currency checkout with cards, Apple Pay and Google Pay, and offline-first profile caching for patchy connections.

Stack

  • React Native
  • TypeScript
  • Swift
  • Kotlin
  • Adobe AEM
  • Adyen
  • Azure App Insights
  • XState
  • GSMA RSP
  • Fastlane
  • GitHub Actions
  • Cloudflare

Working on something at this scale?

Tell me what you're building. I read everything and reply myself.

Tell me what you're building