Márton Braun
banner
zsmb.co
Márton Braun
@zsmb.co
Developer Advocate @ JetBrains, working on Kotlin and Compose Multiplatform, KMP tooling, and Amper.

Instructor @ BME-VIK. Co-organizer @ Android Budapest. GDE for Android. Ex-Google.

zsmb.co
Pinned
So, today I found out about a secret, unsafe, internal property that makes Hot Reload waaaay faster. Like lightning fast. Even in a real project, not just with Hello World.

We're currently discussing if y'all are ready for this yet - we'll probably add it to guidance later.
9.0, currently still in RC.
January 9, 2026 at 9:14 PM
It's infuriating. I ran into like 5 of these sites just this week.
January 9, 2026 at 4:33 PM
It will only be forced for Android (due to Google's AGP changes) but we're going to align other platforms with this in our wizards and materials for consistency.
January 8, 2026 at 7:54 PM
No, the point is to have all shared code organized into libraries (now with the new plugin), and consume those from regular application modules.
January 8, 2026 at 7:48 PM
And if you don't like how inefficient that is (adds a whole INVOKESTATIC call instead of doing a GOTO like before!), you can optimize that away too
January 8, 2026 at 8:06 AM
If you really want to code golf this, you can of course always loop by recursion as well 😉
January 8, 2026 at 8:05 AM
It's absolutely astonishing how bad the quality of the YouTube app is. Just criminal. Someone needs to be removed from that team big time.
January 7, 2026 at 10:32 AM
Have you tested release build times on Kotlin 2.3 yet, and have you seen any improvement in your projects?
January 6, 2026 at 8:22 PM
Also, Cash App moved 1500 modules to Metro last year!

code.cash.app/cash-android...
Cash Android Moves to Metro
The Cash Android team have completed the migration to Metro.
code.cash.app
January 6, 2026 at 1:22 PM
In the direction of calling from Swift into Kotlin code? It's still a little early and experimental, but have you looked at Swift Export yet?

kotlinlang.org/docs/native-...
Interoperability with Swift using Swift export | Kotlin
kotlinlang.org
January 6, 2026 at 1:21 PM
Have you tried Metro by any chance?
January 6, 2026 at 12:53 PM
A rare but interesting use case!
January 6, 2026 at 12:32 PM
Do you have some examples of what you're missing as a multiplatform API from the standard library? It'd be great to at least have tracking issues for each of them (if they're not there already).
January 6, 2026 at 12:30 PM
That's very valid, unfortunately.

This latest AGP change in particular is a rough one for existing projects. We're working on a bunch of guidance and updates across the board to ease the migration pains, and they'll be published gradually over the next few weeks/months.
January 6, 2026 at 12:30 PM
That's what happens when someone starts shipping canaries right before the holidays! 😉

The KMP tooling team is working on releasing the plugin for Panda already, hopefully we can get it out this week.
January 6, 2026 at 12:29 PM
They should just use it!
January 6, 2026 at 12:23 PM
Thanks for providing the issue links 🙏 I'll ask around to see how these are doing.
January 6, 2026 at 12:23 PM
Alright folks, let's start the new year with a quick feedback round:

What's your number one problem with using KMP today?
January 5, 2026 at 3:13 PM
I'd make a small bet that they fed the set of available icons and the labels of all menu items into an LLM and had it find the best matches. For like 90% of the icons.
January 5, 2026 at 1:31 PM
Ah, that's what the snowflake does, as I initially thought. It just takes waaay longer for it to happen and become obvious than I expected. At least on mobile.
January 5, 2026 at 12:48 PM
Is there... A way to turn off the snow on this website?
January 5, 2026 at 12:38 PM
Ooooh. You got a recipe you can share for that? 👀
January 4, 2026 at 10:38 PM
Reposted by Márton Braun
My New Year's wish for you: may your type-system be strong and null-safe. #kotlin
December 31, 2025 at 6:59 AM
True true, that specific case is different. I meant more in general, with Compose state, StateFlow, LiveData and so on.
December 25, 2025 at 4:10 PM
Yeah, if your consumers are downcasting values to be mutable, I think that's entirely on them.

Who's to say they won't also use reflection to grab the underlying mutable values that are private in your class?
December 25, 2025 at 12:52 PM