Kotlin Multiplatform Newsletter #12
We discuss the diversification of Kotlin as Android developers now make up only 25% of the community, and examine the strategic wind-down of Android KTX. We also feature a technical deep dive into Coroutine bridges for callback-based APIs, a look at writing your first Kotlin compiler plugin, and a showcase of the first native block-based editor for Compose Multiplatform. Plus, new tools for AI-driven orchestration, image metadata, and a Senior Staff role at Fanatics.
The Main Thread
Community's most insightful threads, curated from social media platforms and websites.
Hadi Hariri discusses the changing profile of the Kotlin community, noting that at the first Kotlin Conf, about 75% of attendees were Android developers, but now Android is only around 25 to 30%. The community has become more diversified technologically, attracting people with server and mobile backgrounds.
Eight years ago we launched a library of Kotlin extensions for the Android platform, Android KTX. In the time since, the library became Core KTX, and numerous other KTX libraries were written for other AndroidX libraries. And while KTX's approach to adding Kotlin niceties was built on a strong technology foundation, we’ve made the difficult decision to begin winding down our KTX extension libraries.
Anshika Kaul shares how Posten Bring used Kotlin Multiplatform to centralize business rules from a legacy monolith and improve life for both developers and the business. She explains how the team built trust through small, measurable wins, got product owners reading Kotlin and opening PRs, and turned shared logic into live documentation.
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.
This article explores the suspendCoroutine bridge pattern, showing how to convert callback APIs into clean suspend functions, handle diverse callback shapes, design proper error propagation, and how SDKs like RevenueCat apply it at scale.
This is not a tutorial. I’m not presenting expertise here. I’m documenting my first working implementation and what I understood while building it. The goal is intentionally simple: Build a Kotlin compiler plugin that logs every class during compilation.
LazyColumn
Compose Multiplatform tips, tricks, and code snippets.
The first native block-based editor for Compose Multiplatform. Notion/Craft-style editing, implemented as a shared Kotlin editor core for Android and iOS: draggable blocks, slash commands, rich-text spans, custom block types, and versioned document serialization, all without WebView, HTML/contentEditable, or embedded JavaScript editors.
The Dependency Graph
Curated libraries, tools and plugins that won't break your Gradle build.
- koog-compose
A developer-first Kotlin Multiplatform (KMP) runtime for building AI-driven features that orchestrate app logic, device capabilities, and UI from a single declarative DSL. - Printer KMP
A powerful, lightweight Kotlin Multiplatform library designed to make interacting with ESC/POS thermal receipt printers effortless. Built exclusively for Android and Desktop (JVM) targets, this library provides a fluent API for hardware control, reactive connection monitoring, and seamless Jetpack Compose UI capturing. - Maryk
A Kotlin Multiplatform framework for defining, validating, serializing, and storing data models consistently across multiple platforms, including iOS, macOS, watchOS, tvOS, Linux, Windows, Android, JVM, JavaScript and Wasm. - Kim - Kotlin Image Metadata
Kim is a Kotlin Multiplatform library for reading and writing image metadata. - KtorMonitor
Powerful tool to monitor Ktor Client requests and responses, making it easier to debug and analyze network communication. Full support for Android, iOS, Desktop (JVM), Wasm, and JS. - cryptography-kotlin
A cryptography library for Kotlin Multiplatform, which wraps well-known future-proof platform-native solutions like OpenSSL, CryptoKit, WebCrypto or JCA with a type-safe uniform API, aligned defaults as well as tested for cross-compatibility between platforms.
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!

→ Creator Reddit Thread

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.
As a Senior Staff Mobile Engineer, you’ll be responsible for powering the rapidly growing Fanatics Markets app. In your role, you'll be recognized as a technical leader, combining strategic thinking with hands-on execution. You'll lead ambitious projects, setting the standard for your team through innovative solutions. Your bold decisions will strike the right balance between addressing immediate business needs and ensuring long-term technical excellence. Through your leadership, you’ll foster a culture of excellence and innovation, leaving a lasting impact on both your immediate team and the broader mobile development community.
🚀 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

