Kotlin Multiplatform Newsletter #31
klibs.io crosses 4,200+ indexed KMP projects with enhanced AI discovery, Kotlin 2.4 spotlights Collection literals, Swift Export, and SPM import, and we break down architecting hybrid on-device vs. cloud AI pipelines in shared code. We also explore automatic UI skeleton loading in Compose, build-time @Preview generation with Pose, IDE-style window docking, and reading Excel spreadsheets in pure Kotlin with Kexcel. Plus, a Senior Mobile Engineer opening at Bayer Global.
The Log
The only Kotlin Multiplatform and Compose Multiplatform news you actually need to know.
When we introduced klibs.io in December 2024, the goal was simple: make it easier to find a Kotlin Multiplatform library that fits both your use case and target platforms. Since then, klibs.io has grown into a catalog of more than 4,200 KMP projects – and discovering new libraries has become even easier.
The Main Thread
Community's most insightful threads, curated from social media platforms and websites.
Kotlin 2.4 is packed with some especially nice features and improvements from the Kotlin team. From language updates, to standard library additions, and finally platform-specific updates, this video will make sure you’re in the know!
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 is the third article in a loose series on making correctness checkable. The previous one covers the fixtures, scoring layers, and evaluation harness behind the numbers here. This piece is about the architecture those measurements informed.
LazyColumn
Compose Multiplatform tips, tricks, and code snippets.
I already had a shimmer effect working. A small composable called
ShimmerBox, copied from project to project for a couple of years, doing the one job it was built for: a gray box with a moving gradient, dropped in wherever a screen needed to look like it was loading. It worked. Nobody had ever complained about it, and I took that as proof it was fine. I decided to pull it out into a real library, something I could publish and reuse properly instead of pasting the same forty lines into every new app.The Dependency Graph
Curated libraries, tools and plugins that won't break your Gradle build.
- AdMob CMP
Plug-and-play Compose Multiplatform AdMob SDK for Android GMA Next-Gen and iOS Google Mobile Ads. - Skeletal
Automatic loading skeletons for Compose Multiplatform. Wrap your existing composables — no parallel skeleton UI to build or maintain. - Pose
Auto-generate Jetpack Compose@Previewfunctions from your@Composablecode at build-time, deterministic, offline, no LLM. - Compose Docking
IDE-style window docking for Compose Multiplatform: splits, tab groups, drag-to-dock with docking handles, floating windows, maximize, and layout persistence. - materialKolor
A Compose Multiplatform library for creating dynamic Material Design 3 color palettes from any color. - Kexcel
Read and write Excel (.xlsx) spreadsheets from Kotlin Multiplatform — pure Kotlin, no Apache POI. - kmp-zip
Kotlin Multiplatform ZIP and GZIP library for JVM, iOS, macOS, Linux, Windows, and Kotlin/Wasm (wasmJs) targets, with encryption support.
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!
Careers
Kotlin Multiplatform job postings and opportunities.
hackajob • Meet Archer, your AI job matching agent
5x more interviews. Zero guesswork. Archer works 24/7 to match you with roles that fit your stack and seniority. You review the matches, not the job boards.
Are you motivated by solving real-world problems that impact farmers and help protect the world's food supply? Digital Farming Solutions at Bayer is looking for a Senior Mobile Engineer to join one of our regional, dynamic product delivery teams working in cloud-based distributed environments.
🚀 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



