I’m pleased to say that Kodee has recovered from the punch and even got a new friend. #KotlinDevDay25 had the most backend Kotlin developers I’ve seen since Kotlin became a thing on Android 🙈 It was also really nice chatting to people from Xebia, JetBrains and Flock. Thank you for having us!
Quite an amazing stage at #KotlinDevDay25

And here are the slides of the talk "Lessons learned after building apps with Kotlin Multiplatform" that I've just done at #KotlinDevDay25

https://www.marcogomiero.com/talks/2025/lesson-learned-kmp-kotlindevday/

Lessons learned after building apps with Kotlin Multiplatform

With Kotlin Multiplatform and Compose Multiplatform, you can share code and UI across multiple platforms, from Android and iOS to macOS, Windows, and Linux. But building apps on all these platforms brings unexpected challenges you don’t anticipate at the beginning. In this talk, I’ll share what I’ve learned (often the hard way) while developing apps with Kotlin Multiplatform. You’ll hear why sharing less code can sometimes save more time, how dealing with the iOS Keychain from background services turned into a debugging odyssey, and why placing your database in the wrong Windows folder can lead to silent data loss during app updates. We’ll also cover sandboxing on macOS, the trade-offs between using interfaces and expect/actual, and the complexities of distributing apps across platforms. Whether you’re just getting started with Kotlin Multiplatform or already deep into it, this talk might just save you from a few future debugging headaches..

Marco Gomiero
Apologies for Duncan punching Kodee off the stage at #KotlinDevDay25. I disapprove of this! 😿 You can find the source code from the talk here https://github.com/dmcg/gilded-rose-tdd/tree/47-refactorings-at-kotlin-dev-day. We were only seconds away from the `::invoke::invoke::invoke` part 🙈
Plan for today! #KotlinDevDay25