7 min read

Kotlin Multiplatform Newsletter #37

JetBrains introduces a more reliable compilation scheme for KMP modules to resolve IDE-compiler discrepancies and commonTest scope leaks. We also cover building a 60 fps 3D game across 5 platforms with Compose Multiplatform, why KMP prevents codebase drift in the era of AI code generation, mastering AndroidX Room in KMP, and adapting background tasks on iOS without WorkManager. Plus, Haze 2.0 glass and blur effects, unified health metrics via KHealth, and Miuix HyperOS UI components.

The Log

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

A More Reliable Compilation Scheme for Kotlin Multiplatform Modules

The current compilation approach to Kotlin Multiplatform projects works, but sometimes can lead to unexpected or hard-to-predict behavior:
- The IDE analysis disagrees with the compiler on an overload, type inference, or whether the code should compile at all – with the IDE being stricter than the compiler.
- Your commonTest code can unexpectedly call something from a platform source set, breaking your assumptions.

Expect Actual

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

One Kotlin codebase, five platforms, 60 fps: building a 3D game with KMP and CMP

Fixes for audio stutter, hidden Android frame drops, camera jitter, split screen, controllers and online play, measured on real devices, and the open-source library we pulled out of our game.
KMP's Role In Modern Native Mobile

Mobile teams are using AI to move faster than ever. Kotlin Multiplatform provides the shared code foundation which prevents drift. “What’s the value of KMP, when AI makes replicating code across platforms easy?” The two mistakes in this line of thinking are: glossing over the long-term iteration costs, and assuming that AI ports and KMP are mutually exclusive.
Mastering Room Database in Kotlin Multiplatform (Android, iOS & Desktop) with Koin

For years, SQLite persistence in Kotlin Multiplatform (KMP) relied on third-party solutions like SQLDelight. With the official release of AndroidX Room for KMP, developers can now leverage Room’s compile-time query verification, reactive DAOs, type-safe migrations, and familiar annotations across Android, iOS, and Desktop (JVM) with zero compromise.
Kotlin Multiplatform at an E-Commerce App: How We Unified Two Platforms With a Single Codebase Before It Was Cool

When we first started exploring Kotlin Multiplatform at our e-commerce app, it was still in beta for iOS and Compose Multiplatform hadn’t even reached version 1.6. Most of the industry was skeptical. “It’s not production-ready,” people told us. “Wait for it to stabilize.” We didn’t wait. Today, we ship a unified codebase across Android and iOS with over 92% shared code — and our development velocity has never been higher.
The Android Developer’s Guide to Background Work in KMP: Surviving Without WorkManager on iOS

If you are trying to figure out how to schedule background work on iOS within a KMP architecture, this guide is for you. Here is the Android developer’s guide for shifting your mindset and implementing background tasks across platforms.

LazyColumn

Compose Multiplatform tips, tricks, and code snippets.

Haze 2.0 is here!

Haze brings background blur and glass effects to Compose Multiplatform. There’s a lot to play with in this release: Glass brings refraction and lighting to your Compose Multiplatform interfaces, blur gets performance improvements, and a new API makes room for effects of your own.

The Dependency Graph

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

  • Joyframe KMP
    Kotlin Multiplatform game toolkit: 3D rendering, water, chase camera, split screen, controllers and audio on Android, iOS, desktop and web.
  • Miuix
    A UI library for Compose Multiplatform. Provides components with Xiaomi HyperOS design style.
  • KHealth
    A modern Kotlin Multiplatform library providing a unified, type-safe API over Android's Health Connect and Apple's HealthKit (iOS and watchOS). It is designed from the ground up for seamless use in Kotlin Multiplatform (KMP) and Compose Multiplatform projects.
  • Mindmap - Call Graph Visualizer
    Visualize function call graphs as interactive mind maps inside your IDE. Place your cursor on any Kotlin or Java function and press Alt / Option + G to instantly see its callers, callees, and function depth — including cross-language edges between Kotlin and Java.
  • MapLibre Compose
    A Compose Multiplatform wrapper around the MapLibre SDKs for rendering interactive maps. You can use it to add maps to your Compose UIs on Android, iOS, Desktop, and Web.
  • KMP WorkManager
    Unified API for scheduling and managing background tasks—one‑off, periodic, exact and chained jobs—featuring advanced triggers, structured logging, event‑driven completion, demo UI and docs.

Target: Production

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

Download | BoatBrawl
Play BoatBrawl on iPhone, iPad, Android, Mac, Windows or in your browser.
Levyra · Official Open Source Music Player for Android & Windows
Free, open-source high-fidelity music player for Android 8.0+ and Windows. Synchronized lyrics, offline downloads, and zero tracking.
GitHub - yet300/funfolio: Open-source offline game collection for Android and iOS.
Open-source offline game collection for Android and iOS. - yet300/funfolio
Download App - Trending AI
Download the TrendingAI app and track global tech trends anywhere

Careers

Kotlin Multiplatform job postings and opportunities.

Senior Mobile Engineer at Fanatics Markets
New York, NY, United States

As a Senior Mobile Engineer, you'll contribute to a multi-platform app built on Kotlin Multiplatform, shipping features across Android, iOS, and additional targets from a shared codebase. You'll own complex work end-to-end, write code that sets the quality bar for the team, and help shape architecture decisions in a fast-moving product environment. Our engineering strategy centers on KMP and Compose Multiplatform to deliver high-quality, consistent experiences across platforms — and the engineers who build it are expected to help keep that bar high.
Senior Staff Engineer - Mobile at Fanatics Markets
New York, NY, United States

As a Sr. Staff Mobile Engineer, you'll be a defining technical voice on a multi-platform app built on Kotlin Multiplatform, shipping across Android, iOS, and additional targets from a shared codebase. You'll combine strategic thinking with hands-on execution — leading architecture decisions, setting engineering standards, and guiding engineers across the organization. Your impact will extend well beyond your immediate team, shaping how we build across platforms at scale and influencing the long-term direction of our mobile engineering practice.

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