How Major Metros Run on KMP cover art

How Major Metros Run on KMP

How Major Metros Run on KMP

Listen for free

View show details

Summary

Every time you tap through a subway gate in New York City, you’re using Kotlin Multiplatform! In this episode, we sit down with Paweł Kwieciński from Masabi to explore how they brought a decade-old Java codebase to KMP, powering ticket validation across mobile apps, embedded devices, and backend systems for public transit agencies worldwide.

Resources:

  • Masabi
  • J2ObjC (Java to Objective-C translator)
  • Google Workspace Migration to Kotlin
  • Large Scale Changes with AI – Uber | Ty Smith
  • KotlinX DateTime
  • Ktor (Client & Server)
  • Burst library (archived)
  • Java ME (Micro Edition)
  • Mbed TLS
  • SQLDelight
  • Compose Multiplatform
  • JetBrains AI Assistant & Junie

Hosts:

  • Sebastian Aigner – Website | Bluesky
  • Márton Braun – Website | Bluesky

Guest:

  • Paweł Kwieciński

Timeline:
(0:00) Introduction
(1:12) What is Masabi?
(3:03) How does Kotlin fit into this?
(6:30) System architecture overview
(8:33) Embedded SDK and mobile apps
(10:33) Ticket inspectors and validators
(13:22) Offline operation
(16:29) The KMP decision
(24:42) Evaluating alternatives
(27:21) Planning the migration
(33:28) First lines of Kotlin
(43:45) Translating Java to Kotlin
(53:22) AI-assisted code translation
(56:39) Early AI era challenges
(1:05:01) Testing challenges
(1:08:22) KMP dependencies
(1:11:34) Domain-specific dependencies
(1:16:55) Java ME and C interop
(1:23:22) Backend-client sharing
(1:26:59) Current status
(1:31:48) Future plans: CMP
(1:36:26) Wrap-up

adbl_web_anon_alc_button_suppression_c
No reviews yet
In the spirit of reconciliation, Audible acknowledges the Traditional Custodians of country throughout Australia and their connections to land, sea and community. We pay our respect to their elders past and present and extend that respect to all Aboriginal and Torres Strait Islander peoples today.