6 min read

Kotlin Multiplatform Newsletter #22

In this briefing: We look at the launch of the 2026 Kotlin Foundation Grant Program offering financial support for KMP and AI library authors. We also dive into the future of iOS interop, comparing Swift Export vs. SKIE, and explore real-world lessons from building a production Kotlin/JS & Wasm web app. Plus, we highlight the magic of caching with Coil 3, a visual navigation mapper for Compose, and feature heavy-hitting Senior/Staff roles at Quo and Cantina.

The Log

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

Apply for the 2026 Kotlin Foundation Grant Program for Library Authors

The program provides financial support to developers who create and maintain open-source libraries, tools, and frameworks that strengthen the Kotlin ecosystem. We continue to welcome projects related to Kotlin Multiplatform, as well as libraries focused on AI and large language models.

The Main Thread

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

[Reddit] Things I wish I knew before starting a Kotlin/JS & Kotlin/WASM project with Compose

Hello, I just finished most of the development of my first Kotlin/JS & Kotlin/WASM app (5KLOC, ~100 hours of dev in the last 6 months) and I wanted to share my experience with you. It's a web application my wedding guests could use to post their wedding pictures, post their "guestbook" messages on, and play some games together.
[Reddit] KMP vs Flutter in 2026 — Genuine career dilemma for an Android dev. Need advice from people actually using KMP in production.

Looking for honest, experience-based answers — not marketing speak. If you've shipped a KMP app in production, especially in India, your perspective would mean a lot.

Expect Actual

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

The Future of KMP's iOS Interop

Kotlin's new Swift Export feature promises to eliminate the Objective-C middleman and generate native Swift APIs directly from your KMP code. But with SKIE already solving many of the same pain points in production today, which approach should your team bet on? We break down the capabilities, limitations, and tradeoffs of both.
In which order should Kotlin parameters be declared?

The Kotlin programming language itself doesn't give strong rules on the order in which parameters should be declared. Yet, there is an order that is better than the others.
Kotlin 2.4 + Swift export: Flow → AsyncSequence (and Swift Packages)

Interoperability with Swift is often the biggest pain point in KMP. Historically, Kotlin has been exposed to Swift indirectly through an Objective-C bridge: the Kotlin/Native compiler generates Objective-C headers that Swift imports, with mangled names and unidiomatic underscores.

LazyColumn

Compose Multiplatform tips, tricks, and code snippets.

Warm Tyres: Image Loading and Caching in Compose Multiplatform with Coil 3

Coil 3 is Kotlin Multiplatform. One AsyncImage call in commonMain renders on Android, iOS, desktop, and web. No expect/actual. No second library. The same memory cache, the same disk cache, the same loading code.

The Dependency Graph

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

  • Compose Navigation Graph
    Compose Navigation Graph turns your entire app flow into one living map: every screen as a rendered existing @Preview thumbnail, every transition an arrow you can follow. It works with Navigation 3Navigation 2, any other Compose navigation libraries, and even plain Activities.
  • AdaptiveNavBar
    A Compose Multiplatform adaptive navigation bar — Material 3 on Android, glassy floating bar with FAB on iOS
  • Compose Stability Analyzer 0.10.0
    Diagnostic tools for Jetpack Compose recomposition - now introducing Stability Doctor and Trace-All Mode.
  • OpenSavvy Spine
    Share your Ktor endpoints between multiplatform clients and server.
  • KSensor
    Live Sensors/States data from Android & iOS targets
  • KGML
    The Kotlin Graphics Maths Library for Kotlin Multiplatform. A GLM/JOML inspired library with a touch of idiomatic Kotlin.
  • Kompress
    Compression and archiver APIs for Kotlin Multiplatform.

Target: Production

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

Kodee vs Friction
A small and fun 2D game built in pure Kotlin with Compose Multiplatform & WebAssembly. Celebrating 15 years of Kotlin.

GitHub repository available here.

Beam — local-first PDF presenter remote
Project a PDF on the big screen and run it from your phone — live ink, spotlight, speaker notes, and a shared timer. Local-first, nothing leaves your network.

GitHub repository available here.

Careers

Kotlin Multiplatform job postings and opportunities.

Senior Engineering Manager, Foundations at Quo
Remote - United States & Canada

We're looking for a Senior Engineering Manager to lead our Foundations team, the group that builds and scales the technical and organizational infrastructure the rest of Quo's engineering org is built on.

Foundations is a uniquely cross-disciplinary team of mobile, web, and backend engineers responsible for the core systems everything else depends on: our GraphQL platform, client data sync, mobile frameworks (Kotlin Multiplatform), CI and testing platforms, and the core architecture of our client systems.
Kotlin Multiplatform Engineer (Senior-Staff Levels) at Cantina
Los Angeles or San Francisco; California; Remote (U.S. or Canada); Sunnyvale

As a Kotlin Multiplatform Engineer at Cantina, you’ll be the architect of our shared-code strategy — building the foundation that powers our experiences across Android, iOS, and web from a single Kotlin codebase. You’ll work at the cutting edge of the KMP ecosystem, shipping production code to real users on multiple platforms, while keeping platform-specific layers feeling truly native.

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