Kotlin Multiplatform Newsletter #43
Kuaishou details scaling Kotlin Multiplatform to 700M+ users across core live-streaming and social features, while the Kotlin Foundation announces the winners of the 2026 Grants Program. We also walk through replacing Retrofit with Ktor in shared networking layers, converting Gradle build scripts into declarative YAML with the Kotlin Toolchain, embedding C++ Vulkan 3D renderers into Compose UI, and rendering Mermaid diagrams natively without WebViews using Maradona. Plus, a remote Senior Mobile Engineer opening at Human Interest.
The Log
The only Kotlin Multiplatform and Compose Multiplatform news you actually need to know.
This year’s recipients address everyday needs across the Kotlin ecosystem, from dependency management and testing to local AI, camera functionality, and file handling. The projects were selected for the problems they solve, the quality of their implementation, and their proposals for further development.
Students and recent graduates, turn your idea into a cross-platform project with Kotlin Multiplatform (KMP). The authors of the top three projects will each win a trip to KotlinConf 2027 in Kraków, Poland, with conference tickets, travel, and accommodation covered by the Kotlin Foundation. Authors of all other valid entries will receive Kotlin souvenirs.
Submissions are open until December 7, 2026.
The Main Thread
Community's most insightful threads, curated from social media platforms and websites.
Kuaishou, one of the world's largest short-video platforms with 800M+ MAU, has successfully adopted Kotlin Multiplatform (KMP) across our core business scenarios, including live streaming, IM, content creation, and social features. This talk shares our journey of migrating massive native codebases to KMP, focusing on practical challenges and solutions at scale.
Expect Actual
Technical deep dives, or solving the "how-the-hell-do-I-test-this" problems.
wellfound • Where great companies meet great people.
The next company that changes the world, and the role that changes yours. Wellfound is where 27,000+ startups hire. Apply directly to the founders and hiring managers building what's next.
What Moved for Free, and What Hurt
The pattern turned out to be simple, and in hindsight obvious: multiplatform support in your libraries matters far less than how tightly your own code is coupled to platform APIs. A library either supports KMP or it doesn’t, and you find out in minutes. Your own platform coupling is spread across hundreds of files and you find out gradually, for weeks.
Then you start a Kotlin Multiplatform (KMP) project, move your API layer into
commonMain, and the build falls over. Retrofit isn't available there - and no amount of Gradle tweaking will change that.This works. But most of it is plumbing, not intent. What we actually want to say is: “This is a library for Android and iOS, it uses Compose, Ktor and Koin.” That is the idea behind Kotlin ToolChain — JetBrains’ build tool that describes projects declaratively in YAML.
LazyColumn
Compose Multiplatform tips, tricks, and code snippets.
Adding 3D graphics to a cross-platform app sounds like a solved problem from a distance. Write the renderer once in C++, pick a portable graphics API, draw into a view, and let the shared UI framework handle everything else. In practice, it is not quite that simple.
It’s easy to assume that because Compose draws everything itself, accessibility is somebody else’s problem, or at least a later one. It isn’t, and the quickest way to find out is to try it.
The Dependency Graph
Curated libraries, tools and plugins that won't break your Gradle build.
- mdi-icons
A Compose Multiplatform library exposing the full Material Design Icons (MDI) catalog as Kotlin, targeting Android, iOS, desktop (JVM), JS and wasm. - Inara
Inara turns a plain Kotlin interface into a dependency-injection module. You declare what a module offers as ordinary interface members, and you decide how each member is produced by supplying aBindingwhen you build the module. A KSP processor generates the implementation. - Maradona
Maradona renders Mermaid diagrams as native Compose Multiplatform composables on Desktop (JVM), Android, and iOS — without a WebView or JavaScript runtime. - Compose Google Fonts
Use any Google Font in Android and Compose Multiplatform apps, either downloaded while your app runs or bundled into your app at build time. - Kapow
Effects for Compose Multiplatform that react to state: a burst of particles when a value changes, a halo while a condition holds, an iris or a puff of smoke when content appears or goes. Android, iOS, desktop and the browser, from onecommonMain.
Target: Production
Showcase of real-world apps proving KMP is ready for prime time.

Apple App Store version available here.

Careers
Kotlin Multiplatform job postings and opportunities.
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.
United States, Remote
This is a high-impact, hands-on engineering role building the future of our mobile app experience. As a Senior Software Engineer on our Mobile team, you will design, build, and ship the features millions of employees and plan administrators rely on to manage their financial future, and help set the technical foundation for mobile engineering at Human Interest. The team's scope is broad, spanning multi-persona mobile experiences, native and cross-platform architecture, and release operations.
🚀 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



