
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 & JunieHosts: Sebastian Aigner – Website | Bluesky Márton Braun – Website | Bluesky Guest: Paweł KwiecińskiTimeline:(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
Podzilla Summary coming soon
Sign up to get notified when the full AI-powered summary is ready.
Free forever for up to 3 podcasts. No credit card required.
Free AI-powered recaps of Talking Kotlin and your other favorite podcasts, delivered to your inbox.
Free forever for up to 3 podcasts. No credit card required.