How Kotlin Multiplatform Revolutionized Pension App Development

Kotlin
Multiplatform
Mobile Development
Case Study

Introduction

At Ernst & Conte GmbH, our mission is clear: providing technical excellence to simplify complex digital challenges. Collaborating closely with a major bank, Marc Rymann and I led the development of a popular pension 3a mobile app available on both iOS and Android. With around 150,000 active users, delivering high-quality software efficiently was essential.

Recognizing the ambitious scope and limited resources, Marc and I decided to streamline development by adopting Kotlin Multiplatform (KMP) combined with Compose Multiplatform, significantly enhancing productivity without compromising on quality.

Why We Chose Kotlin Multiplatform

When we started this collaboration, the complexity of managing separate codebases for iOS and Android quickly became apparent. Initially, we shared only business logic through Kotlin Multiplatform but maintained distinct user interfaces. However, to fully realize efficiency and consistency, we decided to embrace Kotlin Multiplatform comprehensively, including Compose Multiplatform for UI development.

Our Incremental Migration Journey

Our approach was deliberate and cautious, beginning with a small proof-of-concept screen. Success there encouraged us to methodically migrate the rest of the application screen by screen. With each migration, our codebase became simpler, more consistent, and noticeably less prone to bugs.

What Kotlin Multiplatform Delivered

Choosing Kotlin Multiplatform fundamentally transformed our development process:

  • Accelerated Development: Features implemented once immediately became available on both platforms, dramatically improving our delivery speed.
  • Reduced Bugs and Testing Effort: A single, shared source of truth significantly cut down inconsistencies and reduced our testing burden.
  • Improved Team Collaboration: Operating from one unified codebase enhanced cooperation, eliminating previous silos and creating a more cohesive team.

Lessons from Our Migration

From our experience, we can confidently share valuable insights:

  1. Migrate Incrementally: Begin with manageable tasks, verify success frequently, and gradually expand.
  2. Regular Refactoring: Continuous improvement keeps the codebase clean and ensures long-term maintainability.

Broader Applications of Kotlin Multiplatform

Kotlin Multiplatform's versatility extends beyond our pension app. Many teams increasingly leverage KMP across various mobile projects, sharing logic, data models, and UI components to address diverse development challenges effectively.

What's Next for Us

Our Kotlin Multiplatform journey isn't finished. Marc and I are committed to eliminating the remaining native components. As Compose Multiplatform matures, we anticipate achieving 100% shared code, extending even to our web application.

Final Thoughts

Choosing Kotlin Multiplatform has revolutionized how we at Ernst & Conte GmbH build apps. Our processes are streamlined, our collaboration stronger, and our software quality greatly enhanced. For our team, Kotlin Multiplatform has been truly transformative.