Kotlin Multiplatform Newsletter #19
We unpack the massive announcements from KotlinConf '26, including the latest shifts in language design, tooling, and AI-driven workflows, alongside a brand-new Security Support Policy for the Kotlin Standard Library. We dive into complex multiplatform setups, featuring cross-platform 3D physics simulations using SceneView, the engineering behind building a multiplatform tone generator, and setting up bulletproof CI/CD with GitHub Actions. Plus, we review how to use Kotlin 2.3's experimental Return Value Checker and detail a KMP engineer position currently open at Cantina.
The Log
The only Kotlin Multiplatform and Compose Multiplatform news you actually need to know.
At KotlinConf’26, the JetBrains team and industry partners shared how Kotlin continues to evolve for developers at every scale. The keynote highlighted advances in language design, tooling, AI-driven workflows, and multiplatform development – all aimed at improving the Kotlin development experience for building modern applications everywhere.
As more code depends on Kotlin, the language becomes more useful – and more constrained. People building on it expect that what they wrote yesterday will keep working tomorrow, that changes will be predictable, and that the team behind Kotlin will treat compatibility as a deliberate choice rather than an afterthought.
The Main Thread
Community's most insightful threads, curated from social media platforms and websites.
Kotlin 2.3 brought an experimental feature that you might have missed - the Return Value Checker.
Developers describe working in Kotlin in a fairly consistent way: more time spent on what you’re trying to build, less time on ceremony. There are fewer rituals to satisfy the compiler, and less boilerplate to write before getting to the part that matters. For years, the interesting question was whether that effect would also be visible at scale.
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.
KMP gives you one codebase and two (or more) build targets. That’s the pitch. What the pitch leaves out is that Android and iOS builds have completely separate toolchains, separate runners, and separate failure modes.
TwoLinks is a real-time 3D physics simulation of a chaotic double pendulum swinging freely under gravity. The setup sounds simple, and yet the resulting motion is completely unpredictable. Shift the length of one link by a centimeter, or move the pivot point a few millimeters, and the long-term trajectory diverges entirely from what it was before. That extreme sensitivity to initial conditions is the hallmark of chaos theory, and the double pendulum is one of its most famous physical demonstrations.
I’ve been using Ktor as the HTTP layer in my KMP projects for a while now, and the moment things clicked for me was when I stopped thinking of it as “a way to make HTTP requests” and started thinking of it as a pluggable pipeline. Every request passes through a crew of plugins before it goes out, and every response passes back through them before your code sees it.
A tone generator is one of those projects that looks simple until the code has to make sound on more than one platform. The math is compact: advance a phase accumulator, call
sin(), scale the result, and write the sample somewhere. The platform mechanics are less compact. Android wants AudioTrack. iOS wants AVAudioEngine and an AVAudioSourceNode. JVM desktop can use Java Sound's SourceDataLine. Each output path has different buffer types, threading expectations, lifecycle details, and failure modes.LazyColumn
Compose Multiplatform tips, tricks, and code snippets.
In 16 years of Android development and several years now with Compose Multiplatform across client projects, the question I hear most often is: “how much do you have to rewrite?” For a well-structured Compose codebase, the honest answer is: almost nothing.
The Dependency Graph
Curated libraries, tools and plugins that won't break your Gradle build.
- epub4kmp
A Kotlin Multiplatform library for reading, writing, and manipulating EPUB files. - PdfKmp
PdfKmp lets you build PDF documents from a Compose-style DSL that runs identically on Android and iOS. - kotlin-csv
Pure Kotlin Multiplatform CSV reader and writer. - Kostra
A library trying to help with resources in KMP project, currently supported platforms areJVM,Android,iOS, and experimentallyNative.
Target: Production
Showcase of real-world apps proving KMP is ready for prime time.
ThreadCam - Profitable mobile app startup for sale
ThreadCam allows users to create 3D mockups of their tshirt or garment designs. It currently has over 2600 active paid subscribers and $9,580 monthly recurring revenue.
We all love traveling, but some of you do it more than others. World Traveller lets you keep track of all the countries and cities you have visited. This online scratch map is what you were looking for!
Driviko is a smart mileage tracker, trip log, and driving logbook app that automatically records your drives using GPS and OBD-II data.
→ Author's Reddit thread explaining their experience developing the KMP app.
Careers
Kotlin Multiplatform job postings and opportunities.
wellfound • Where startups and job seekers connect.
🤝 Connect directly with founders at top startups - no third party recruiters allowed.
💸 Everything you need to know, all upfront. View salary, stock options, and more before applying.
✌️ Say goodbye to cover letters - your profile is all you need. One click to apply and you're done.
✨ Unique jobs at startups and tech companies you can’t find anywhere else.
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.
🚀 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