Kotlin Multiplatform Newsletter #16
We tackle the big question: Is Kotlin Multiplatform actually worth using in 2026? We dive into a step-by-step guide for migrating to Koin Annotations in multi-module projects, the impact of Swift Export with proper enum support in Kotlin 2.3.0, and a deep technical look at the mental models of concurrency and parallelism. Plus, we explore Haze 2.0's pluggable visual effects engine, a guide to building production-ready KMP SDKs, and a unique OTX Runtime Engineer role at Salvo Software.
The Main Thread
Community's most insightful threads, curated from social media platforms and websites.
Explore this Reddit discussion on the pros and cons of KMP and learn from the real-world experiences of fellow developers.
Expect Actual
Technical deep dives, or solving the "how-the-hell-do-I-test-this" problems.
Stop treating Kotlin like a black box! 🧠
To build truly performant multiplatform apps, writing code that just "works" isn't enough. We need to understand what the compiler is actually doing under the hood.
That’s why I highly recommend Practical Kotlin Deep Dive by skydoves. This isn't a basic syntax guide, it breaks down Kotlin internals, bytecode, and coroutines. It’s been a total game-changer for me when writing and optimizing shared code.
If you want to level up your Kotlin and KMP skills to a senior standard, you need this on your desk.
Today we’re going to explore how to migrate a Compose Multiplatform multi-module project from Koin DSL to Koin Annotations. We’ll take a hands-on approach, diving deep into a project example built by the CodandoTV community.
How to use a
PreToolUse hook to automatically prune stale Java processes and reclaim your RAM.You use them every day. You know their names. But do you truly understand why they exist, what they cost and how your CPU has been quietly lying to you the whole time?
If you’re a mid-to-senior Android or iOS engineer who has heard the Kotlin Multiplatform (KMP) buzz but isn’t sure what a production-grade shared SDK actually looks like — this article is for you. We’ll go well beyond “Hello KMP” and walk through the architecture, patterns, and hard-won decisions behind a real SDK that ships
.aar to Android and .xcframework to iOS.Kotlin 2.3.0 shipped Swift Export with proper enum support. This article covers the before, the after, and the things you need to know before you flip the switch.
LazyColumn
Compose Multiplatform tips, tricks, and code snippets.
A curated library of Agent Skills focused on Jetpack Compose performance - highly applicable to Compose Multiplatform performance as well.
Haze is a library for backdrop-style visual effects in Jetpack Compose and Compose Multiplatform. Up until now, blur has been the headline feature and the architecture has been built around that assumption.
The Dependency Graph
Curated libraries, tools and plugins that won't break your Gradle build.
- Pulsar
Rich and ready-to-use haptics library. - Colormath
Colormath is a Kotlin Multiplatform library for color manipulation and conversion. - KMPUtils
KMP Utils is a collection of all the things that are missing from Kotlin STL, popular KMP libraries & platform SDKs.
Target: Production
Showcase of real-world apps proving KMP is ready for prime time.
Carrd - Simple, free, fully responsive one-page sites for pretty much anything.
Whether it's a personal profile, a landing page for your KMP project, or something a bit more elaborate, Carrd has you covered. Simple, responsive, and yup — totally free!
CMP app with custom canvas widgets for charts and other visual elements.
A minimal, distraction-free tray app bringing ambient sounds to your desktop. Perfect for deep work, reading, or meditation.
→ Reddit discussion about shipping the app to production.
Careers
Kotlin Multiplatform job postings and opportunities.
wellfound • Where startups and job seekers connect.
🤝 Connect directly with founders at top startups - no third party recruiters allowed.
💸 Everything you need to know, all upfront. View salary, stock options, and more before applying.
✌️ Say goodbye to cover letters - your profile is all you need. One click to apply and you're done.
✨ Unique jobs at startups and tech companies you can’t find anywhere else.
We are looking for a Senior OTX Runtime Engineer to design and ship a production-grade runtime for the ISO 13209 Open Test sequence eXchange (OTX) standard. This is a deeply technical, high-ownership role at the core of Salvo's diagnostic toolchain. The work demands equal fluency in language-implementation concepts, Kotlin Multiplatform engineering, and automotive diagnostic protocols.
🚀 Get Featured!
Got something interesting to share with the Kotlin Multiplatform community? Submit your link for a chance to get featured in the next issue of commonMain.dev.
🤝 Support the Build
commonMain.dev is made possible by our partners. If you have a tool or service that helps KMP developers ship to production faster, we’d love to help you reach our community. Collaborate with us.
✍ Code Review
This newsletter is curated and written by a real human being. I’m always looking for ways to optimize the build. Was there something you liked or disliked in particular? Or did you find a bug in this issue? Simply reply to this email - I read every comment from the community and take your feedback into account for the next release.
Until next time,
Stay platform-independent!
Bogdan • Founder of commonMain.dev