> ## 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 #24
- URL: https://commonmain.dev/kotlin-multiplatform-newsletter-24/
- Published: 2026-06-30T13:00:38.000Z
- Updated: 2026-06-30T15:05:27.000Z
- Author: Bogdan Codes

We cover a major evolutionary step as Amper rebrands and graduates into the official Kotlin Toolchain (Alpha). We dive into critical performance and architectural wins, including a breakdown of how to make Ktor JSON parsing 66% faster, a robust guide to handling Coroutine exceptions before they crash your app, and a setup guide for the new native Compose Multiplatform previews. Plus, we look at the community debate over KMP design systems and highlight an exciting mobile role at Zwift.

### **The Log**

The only Kotlin Multiplatform and Compose Multiplatform news you actually need to know.

[Kotlin Toolchain 0.11: The Next Step for Amper](https://blog.jetbrains.com/amper/2026/06/kotlin-toolchain-0-11/?ref=commonmain.dev)  
  
Amper 0.11.0 is out, and you will notice a shift in the product branding immediately. If you missed the KotlinConf keynote, here’s the headline: Amper has evolved into the Kotlin Toolchain and is now Alpha!

### **The Main Thread**

Community's most insightful threads, curated from social media platforms and websites.

[Are you waiting for a Kotlin feature that hasn't been implemented yet?](https://www.reddit.com/r/Kotlin/s/ECOTlGP9Fj?ref=commonmain.dev)  
  
Is there a Kotlin language feature that you really want but that hasn't been implemented yet, or has even been rejected? Maybe it has a KEEP, or even not.

[Current state of design systems and UI libraries](https://www.reddit.com/r/KotlinMultiplatform/s/Hv2CW2hSzI?ref=commonmain.dev)  
  
Now, what’s the current landscape of “middle-ground” UIs in KMP world? Is using compose/material as a foundation for your own design system the best way to do it?

### Expect Actual

Technical deep dives, or solving the "how-the-hell-do-I-test-this" problems.

affiliate link — supports the newsletter at no extra cost to you 

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

[Safety Car: Coroutine Exception Handling in KMP](https://medium.com/@kmpbits/safety-car-coroutine-exception-handling-in-kmp-kmp-bits-e824f6f2253d?ref=commonmain.dev)  
  
One `launch` block throws, and if nothing contains it, the failure climbs the job hierarchy, cancels every sibling, and on a bad day takes the whole app down with it. The question isn’t whether a coroutine will throw. It’s what happens to everything around it when it does.

[How We Made Ktor JSON Parsing 66% Faster with 50% Less Memory on KMP](https://dev.to/juan%5Fhurtado/how-we-made-ktor-json-parsing-66-faster-with-50-less-memory-on-kmp-2pca?ref=commonmain.dev)  
  
If you are building Kotlin Multiplatform applications, you know that JSON serialization is often one of the main bottlenecks in high-throughput backends and mobile apps—especially regarding CPU cycles and Garbage Collector (GC) pressure.

[Kotlin tricks: Non-exhaustive enums](https://ivan.canet.dev/blog/2026/06/29/kotlin-non-exhaustive-enum.html?ref=commonmain.dev)  
  
Enums are an exhaustive set of values. But what if you suspect you may want to add new entries in the future?

### LazyColumn

Compose Multiplatform tips, tricks, and code snippets.

[DrawBox Goes Multiplatform](https://ak1.io/blog/2026/06/23/drawbox-goes-multiplatform/?ref=commonmain.dev)  
  
Why I rewrote my Android-only drawing library for Kotlin Multiplatform, and the part of the rewrite that actually hurt.

[Setting up Compose Multiplatform previews](https://zsmb.co/compose-multiplatform-preview-setup/?ref=commonmain.dev)  
  
Earlier this year, the new Kotlin Multiplatform IDE plugin was released, with one of the highlighted features being Compose previews for common code, powered by the Android preview tooling. In this blog post, we’ll look at how to set this up in your projects.

### The Dependency Graph

Curated libraries, tools and plugins that won't break your Gradle build.

- [**kmp-targets**](https://github.com/rsicarelli/kmp-targets?ref=commonmain.dev)  
Gradle plugin for Kotlin Multiplatform that builds only the targets you select. The ones you skip never register, so their tasks never exist.
- [**DrawBox**](https://github.com/akshay2211/DrawBox?ref=commonmain.dev)  
Kotlin Multiplatform drawing library with SVG export, undo/redo & shapes for Android, iOS, Web & Desktop.
- [**RtfParserKmp**](https://github.com/Darkrock-Studios/RtfParserKmp?ref=commonmain.dev)  
Idiomatic Kotlin Multiplatform RTF reader & writer — a port of RTFParserKit (Apache 2.0). Runs on JVM, Android, iOS, JS, WebAssembly, and Native.
- [**Compose GLFW**](https://github.com/sargunv/compose-glfw?ref=commonmain.dev)  
This library provides a JVM Compose host that runs Compose UI in a GLFW window instead of the default AWT/Swing desktop host.

### Target: Production

Showcase of real-world apps proving KMP is ready for prime time.

affiliate link — supports the newsletter at no extra cost to you 

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

[ClashAlly - Apps on Google PlayYour Ultimate Clash Companion — track clans, players, and wars like a pro![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/favicon_v3-ea9a3773-6074-4ff7-beb2-59e5fc17d37d.ico)Apps on Google PlayMazren![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/SDdNHd69ST5dzRWxPj4RetG0So6QZrflGgRoyUiQizJw0p4U8a67daDg4TVCqBjWSOS6ofJuQjnsTH3mQ3p7psE-2d82f4ec-c39b-4ed5-b341-d4e6ce43b856)](https://play.google.com/store/apps/details?id=com.mazren.clashally&ref=commonmain.dev)

Web version available [here](https://web.clashally.com/?ref=commonmain.dev).

[SoccerRPG](https://cerrativan.itch.io/soccerrpg?ref=commonmain.dev)  
  
This is a tactical 5v5 football game inspired by the feeling of Blitzball: positioning, decision-making, team strategy, and creating plays that feel satisfying to execute. Built with Compose Multiplatform

### Careers

Kotlin Multiplatform job postings and opportunities.

affiliate link — supports the newsletter at no extra cost to you 

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

[Software Engineer](https://www.zwift.com/eu/careers?gh%5Fjid=8586077002&ref=commonmain.dev#grnhse-job-details) (with KMP) at [Zwift](https://www.zwift.com/?ref=commonmain.dev)  
  
In this role, you will work on Zwift’s mobile app, Zwift Companion (ZC), delivering high-quality features and ensuring a seamless user experience. You will collaborate with cross-functional teams to deliver product features on iOS and Android apps that help Zwifters plan, track, and achieve their fitness goals. Additionally, you will contribute to defining and executing the technical strategy to achieve our team objectives - make it easy for Zwifters to plan and start their experiences in Zwift.

---

#### 🚀 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.