> ## 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 #32
- URL: https://commonmain.dev/kotlin-multiplatform-newsletter-32/
- Published: 2026-08-25T13:00:22.000Z
- Updated: 2026-08-25T13:00:21.000Z
- Author: Bogdan Codes

Five weeks remain to submit your project to the JetBrains Shipaton for a shot at the $30,000 prize pool and a Times Square billboard spot, supported by the new AI-ready "Koko" starter kit. We also break down how Kotlin/Native invokes iOS platform APIs directly without Swift bridges, walk step-by-step through porting JNI-bound Android libraries to KMP, and compare vertical versus horizontal architecture slicing. Plus, runtime accessibility debugging via **ComposeA11yScanner**, zero-reflection validation with **Valix**, and a remote Senior Mobile position at Fanatics.

### **The Log**

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

[Five weeks left to submit your app to the JetBrains Shipaton](https://kotlinlang.org/lp/shipaton/?ref=commonmain.dev)  
  
Build and ship a mobile app with KMP by Sep 30, compete for the Ship Kotlin Everywhere Award, $30,000 across three winners, top app goes on a Times Square billboard. Starter Guide, AI Guide, IntelliJ IDEA Ultimate and Junie access included.

[Introducing the KMP Contest Starter Kit](https://kotlinfoundation.org/news/introducing-the-kmp-contest-starter-kit/?ref=commonmain.dev)  
  
We are thrilled to announce the KMP Contest Starter Kit (nicknamed “Koko”), a new open-source, AI-ready framework designed to help developers build and publish commercial-ready Android and iOS applications using Kotlin Multiplatform (KMP).

[JetBrains Compose Multiplatform App Showcase](https://surveys.jetbrains.com/s3/Compose-Multiplatform-App-Showcase-Submission-Form?ref=commonmain.dev)  
  
We're looking for beautiful real-world apps built with Compose Multiplatform to feature on Kotlin and JetBrains websites, social media channels, in presentations, and across other promotional materials. If your app is live in production or available in public beta, we'd love to see it!  
  
The form takes about five minutes to complete. If your submission is selected, we'll get in touch to confirm all the details before anything is published.

### **The Main Thread**

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

[IntelliJ vs Android Studio - Kotlin Multiplatform?](https://www.reddit.com/r/Kotlin/comments/1vuv71x/intellij%5Fvs%5Fandroid%5Fstudio%5Fkotlin%5Fmultiplatform/?ref=commonmain.dev)  
  
Looking at making an app using Kotlin Multiplatform, is it better to use IntelliJ or Android Studio for the development? I can see they both are supported natively, but what would be reasons to use one over the other?

[Vertical vs. Horizontal Slicing - The ONLY Right Way to Split Down Your App](https://www.youtube.com/watch?v=svQAKu30C18&ref=commonmain.dev)  
  
Struggling with how to break down a large mobile app project? Learn the difference between vertical and horizontal slicing and discover the best approach to tackle your app development efficiently. Understand why starting with shared infrastructure is crucial and how to structure your project for better maintainability and faster build times.

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

[Torque Spec: Shared Form State and Validation in KMP](https://medium.com/@kmpbits/torque-spec-shared-form-state-and-validation-in-kmp-kmp-bits-f86bc0dad79f?ref=commonmain.dev)  
  
My validation rules were already shared. That part I had right years ago: `ValidateEmailUseCase`, `ValidatePasswordUseCase`, plain Kotlin in `commonMain`, called from a shared ViewModel that drove both the Compose screen and the SwiftUI one. One rule, one place, both platforms. If you had asked me whether form validation was a solved problem in my apps, I would have said yes.

[No Swift, No Bridge: How Kotlin Multiplatform Calls Native iOS APIs Directly](https://medium.com/@princevala%5Fofficial/how-kotlin-multiplatform-kmp-lets-you-write-ios-code-in-kotlin-a4d01425298d?ref=commonmain.dev)  
  
While working on a Kotlin Multiplatform (KMP) project, I was spending time inside the `composeApp/iosMain` source set when I noticed something that genuinely caught my attention: I was writing iOS-specific code directly in Kotlin. No Swift file, no switching languages, just Kotlin. And if you’re thinking this is simply another cross-platform approach where platform-specific code works through a bridge, similar to Flutter or React Native, that’s not what’s happening here.

[Taking a Native Android Library to Kotlin Multiplatform, Step by Step](https://medium.com/@lucf15/taking-a-native-android-library-to-kotlin-multiplatform-step-by-step-04785b1577e5?ref=commonmain.dev)  
  
A concrete, in-order walkthrough for turning a JNI-only Android library into a Kotlin Multiplatform one, using `TiffRenderer`'s actual files as the worked example at every step.

### LazyColumn

Compose Multiplatform tips, tricks, and code snippets.

[CountryCodeKit Compose](https://github.com/tharukack/countrycodekit?ref=commonmain.dev)  
  
A polished country calling-code picker for Compose Multiplatform. Search countries, display recent selections, format input, and validate phone numbers locally on Android and iOS.

[ComposeA11yScanner](https://github.com/mohdaquib/ComposeA11yScanner?ref=commonmain.dev)  
  
ComposeA11yScanner is a debug-only runtime scanner that finds accessibility issues in Jetpack Compose and highlights them directly on the rendered UI. Inspect the affected element, understand the problem, and see a suggested fix without leaving the app.

### The Dependency Graph

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

- [**Coroutine Leak Detector**](https://github.com/Godark14/coroutine-leak-detector?ref=commonmain.dev)  
Android Studio plugin that catches common Kotlin coroutine and Flow mistakes (leaks, ANRs, flaky tests) with context-aware quick fixes.
- [**Valix**](https://github.com/DeveloperSyndicate/Valix?ref=commonmain.dev)  
Compile-time generated, zero-reflection validation framework for Kotlin using KSP. Type-safe validation for Android, Ktor, Spring, Micronaut, and Kotlin Multiplatform.
- [**TiffRenderer**](https://github.com/lucf15/TiffRenderer?ref=commonmain.dev)  
A Kotlin Multiplatform library for decoding and rendering TIFF images — Android, iOS, and JVM/desktop — including multi-page/multi-directory TIFFs, on top of `libtiff`.

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

[SlipgateA console-style game select screen that boots classic id Tech games, each engine compiled to WebAssembly and driven from a single Kotlin Multiplatform host.![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/favicon-b8ae181a-624b-4547-9f6f-0d67421796ed.png)![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/cover_mars-c8a32912-5324-47a7-8cb4-89c6fc640a7d.webp)](https://slipgate.vercel.app/?ref=commonmain.dev)

GitHub link available [here](https://github.com/jacksonfdam/slipgate?ref=commonmain.dev).

[splitcash — Split Expenses with FriendsThe easiest way to split expenses with friends, flatmates, family or travel buddies — even if they don’t have the app. 100% Offline. 150+ Currencies. Available Worldwide. Made for real life![](https://static.ghost.org/v5.0.0/images/link-icon.svg)splitcash![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/featureGraphic-352e0a2f-ce5c-4068-be20-eec5109dbb77.png)](https://splitcash.app/?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 Software Engineer - Mobile (REMOTE)](https://job-boards.greenhouse.io/fanaticsfbg/jobs/4373906009?ref=commonmain.dev) at [Fanatics](https://www.fanaticsinc.com/?ref=commonmain.dev)  
  
We embrace principles of data-driven development, operational excellence, and continuous process optimization to deliver a stable, scalable platform. Central to our strategy is Kotlin Multiplatform, which empowers us to deliver high-quality features quickly and consistently across multiple ecosystems.

---

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