Zum Inhalt springen

How Major Metros Run on KMP

05.03.2026 · 1 Std. 39 Min.

Shownotes

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:

Hosts:

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

Alle Folgen von Talking Kotlin

Einstellungen

Darstellung

Sprache

Bestimmt, welche Sender dir auf der Startseite zuerst gezeigt werden.

Verlauf

Zuletzt gehörte Sender und Folgen und deine letzten Suchen liegen nur in diesem Browser.

Hinweise

Ein kurzer Hinweis, wenn ein Podcast, dem du folgst, eine neue Folge hat. Einzelne Podcasts stellst du über die Glocke auf ihrer Seite ab.

Konto

Favoriten speichern – in der App und auf der Website.

Tastenkürzel

/
Suche öffnen
Leertaste
Abspielen oder anhalten
← →
Im Player: 15 s zurück, 30 s vor (Folgen) · im Regal: nächste Kachel
↑ ↓
Im Regal: Ziel innerhalb der Kachel
Pos1 / Ende
Im Regal: erste bzw. letzte Kachel
Esc
Fenster oder Menü schließen
?
Diese Übersicht
Läuft gerade

Zur Senderseite

Als Nächstes

    Folgen mit „Als Nächstes“ vormerken – sie laufen nach der aktuellen Folge.