> ## Content Index
> Fetch the complete content index at: https://commonmain.dev/llms.txt
> Use this file to discover other available public pages before exploring further.

# Kotlin Multiplatform Newsletter #31
- URL: https://commonmain.dev/kotlin-multiplatform-newsletter-31/
- Published: 2026-08-18T13:00:51.000Z
- Updated: 2026-08-18T13:00:51.000Z
- Author: Bogdan Codes
- Tags: Issues

`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.

[Klibs.io Grows to 4,200+ KMP Projects With Smarter Discovery and New AI Integrations](https://blog.jetbrains.com/kotlin/2026/08/klibsio-grows-to-4200-kmp-projects-with-smarter-discovery-and-new-ai-integrations/?ref=commonmain.dev)  
  
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.

[What’s New in Kotlin 2.4 | Featuring: Collection literals | Swift Export | SPM import](https://www.youtube.com/watch?v=RI4J0C2%5FFR8&ref=commonmain.dev)  
  
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.

affiliate link 

****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**](https://skydoves.gumroad.com/l/kotlin-deep-dive?a=705284499&ref=commonmain.dev) 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.

[Get the Book ](https://skydoves.gumroad.com/l/kotlin-deep-dive?a=705284499&ref=commonmain.dev) 

[Integrating on-device and cloud AI in a Kotlin Multiplatform app](https://blog.watermelonkode.com/routing-modes-are-not-a-routing-policy-9feccfac2ae7?ref=commonmain.dev)  
  
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.

[Lights Out: Automatic Skeleton Loading in Compose Multiplatform](https://medium.com/@kmpbits/lights-out-automatic-skeleton-loading-in-compose-multiplatform-kmp-bits-75a17db09327?ref=commonmain.dev)  
  
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**](https://github.com/Meet-Miyani/admob-compose-multiplatform?ref=commonmain.dev)  
Plug-and-play Compose Multiplatform AdMob SDK for Android GMA Next-Gen and iOS Google Mobile Ads.
- [**Skeletal**](https://github.com/kmpbits/skeletal?ref=commonmain.dev)  
Automatic loading skeletons for Compose Multiplatform. Wrap your existing composables — no parallel skeleton UI to build or maintain.
- [**Pose**](https://github.com/AkshayChordiya/Pose?ref=commonmain.dev)  
Auto-generate Jetpack Compose `@Preview` functions from your `@Composable` code at build-time, deterministic, offline, no LLM.
- [**Compose Docking**](https://github.com/sproctor/compose-docking?ref=commonmain.dev)  
IDE-style window docking for Compose Multiplatform: splits, tab groups, drag-to-dock with docking handles, floating windows, maximize, and layout persistence.
- [**materialKolor**](https://github.com/jordond/MaterialKolor?ref=commonmain.dev)  
A Compose Multiplatform library for creating dynamic Material Design 3 color palettes from any color.
- [**Kexcel**](https://github.com/ShreyashKore/kexcel?ref=commonmain.dev)  
Read and write Excel (`.xlsx`) spreadsheets from Kotlin Multiplatform — pure Kotlin, no Apache POI.
- [**kmp-zip**](https://github.com/henrik242/kmp-zip?ref=commonmain.dev)  
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.

affiliate link 

****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!

[Get Started ](https://try.carrd.co/commonmain?ref=commonmain.dev) 

[GitHub - CharlieTap/mood: A Kotlin Multiplatform Doom implementationA Kotlin Multiplatform Doom implementation. Contribute to CharlieTap/mood development by creating an account on GitHub.![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/favicon-11d3f431-9a75-4f89-9778-f86ebe2108c1.png)GitHubCharlieTap![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/mood-60588feb-4d12-4b79-a254-40ab3947c7c3)](https://github.com/CharlieTap/mood?ref=commonmain.dev)

[GitHub - NucleusFramework/EdgeTranslator: Offline Ai translator for desktopOffline Ai translator for desktop. Contribute to NucleusFramework/EdgeTranslator development by creating an account on GitHub.![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/favicon-d16c7b69-6deb-4537-ab3b-213e039165fb.png)GitHubNucleusFramework![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/EdgeTranslator-168c5b20-6718-4ad6-9faa-05f2879de63c)](https://github.com/NucleusFramework/EdgeTranslator?ref=commonmain.dev)

[GitHub - Otacon/Kassette: A Kotlin Multiplatform NES emulatorA Kotlin Multiplatform NES emulator. Contribute to Otacon/Kassette development by creating an account on GitHub.![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/favicon-9666f86a-dd83-4f25-886a-3897b076fa30.png)GitHubOtacon![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/Kassette-2904d091-ff0f-41d2-8e8f-0461a1bea9ab)](https://github.com/Otacon/Kassette?ref=commonmain.dev)

### Careers

Kotlin Multiplatform job postings and opportunities.

affiliate link 

****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.

[Create your free profile ](https://hackajob.com/talent/invite?referral%5Fid=ce111234ec9b294c075f&ref=commonmain.dev) 

[Senior Engineer Mobile](https://jobs.bayer.com/job/Residence-Based-Senior-Engineer-Mobile-Resi/1426687733/?ref=commonmain.dev) at [Bayer Global](https://www.bayer.com/en/?ref=commonmain.dev)  
  
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](https://commonmain.dev/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](https://commonmain.dev/sponsor/).

#### ✍ 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

![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/2026/06/kodee-mail-v1-upscaled-2-1-1.png) 

## Sign up for commonMain.dev

Every Tuesday, the few KMP links actually worth your time.  
Hand-picked, no AI filler.

Join free 

Email sent! Check your inbox to complete your signup. 

Free forever · One email every Tuesday · No spam, unsubscribe anytime.  
Hand-picked by a senior engineer (8+ yrs) · Read by KMP engineers & tech leads.