Learning resources
This guide curates key Kotlin Multiplatform (KMP) and Compose Multiplatform learning materials. Browse by skill level to find tutorials, courses, and articles that fit your experience.
Here are level descriptions:
🌱 Beginner. Learn KMP and Compose fundamentals through official JetBrains and Google tutorials. Build simple apps using core libraries like Room, Ktor, and SQLDelight.
🌿 Intermediate. Develop real-world apps with multiplatform ViewModels, Koin-based DI, and clean architecture. Includes courses by JetBrains and community educators.
🌳 Advanced. Advance into full-scale KMP engineering with backend and game dev use cases, plus guides on scaling architecture and adoption for large, multi-team projects.
🧩 Library authors. Create and publish reusable KMP libraries. Learn API design, Dokka documentation, and Maven publishing with official JetBrains tooling and templates.
🎚 | Resource/ Type | Creator/ Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌱 | Article | JetBrains | The core value of KMP, see real-world use cases, and find the right learning path for your project. | Free | 30 min |
🌱 | Tutorial | JetBrains | How to set up a KMP project and share simple business logic between Android and iOS while keeping the UI fully native. | Free | 1-2h |
🌱 | Get Started With Kotlin Multiplatform (Google Codelab) Tutorial | Google/ Android | How to add a shared KMP module to an existing Android project and integrate it with iOS, using the SKIE plugin to generate idiomatic Swift APIs from your Kotlin code | Free | 1-2h |
🌱 | Create Your First Compose Multiplatform App Tutorial | JetBrains | How to build a complete Compose Multiplatform app from the ground up, covering essential UI components, state management, and resource handling, as you progress from a simple template to a functional time zone app that runs on Android, iOS, desktop, and web. | Free | 2-3h |
🌱 | Create a Multiplatform App Using Ktor and SQLDelight Tutorial | JetBrains | How to build a shared data layer using Ktor for networking and SQLDelight for a local database, and connect it to native UIs built with Jetpack Compose on Android and SwiftUI on iOS. | Free | 4-6h |
🌱 | Expected and Actual Declarations Article | JetBrains | The core expect/actual mechanism for accessing platform-specific APIs from common code, covering different strategies like using functions, properties, and classes. | Free | 1-2h |
🌱 | Using Platform-Specific APIs in KMP Apps Video tutorial | JetBrains YouTube | Best practices for using platform-specific code in your KMP apps. | Free | 15 min |
🌱 | Video course | Mykola Miroshnychenko Gumroad | How to extend your existing Android development skills to iOS by mastering KMP fundamentals like expect/actual and source sets, then building a complete app stack using modern libraries like Ktor for networking and Room for persistence. | Paid (~$60) | 8-12h (in progress) |
🌱 | Kotlin Multiplatform Masterclass Video course | Petros Efthymiou Udemy | How to apply Clean Architecture and MVI from the ground up to build a complete KMP application, integrating a full stack of essential libraries – Ktor, SQLDelight, and Koin – with native Jetpack Compose and SwiftUI UIs. | Paid (€10-20) | 6h |
🌱 | Compose Multiplatform Full Course 2025 - Zero to Hero Video course | Code with FK YouTube | How to build a complete, feature-rich application entirely with Compose Multiplatform, progressing from the fundamentals to advanced, real-world features like Firebase Authentication, offline support with SQLDelight, and real-time updates. | Free | 20h |
🌱 | Kotlin Multiplatform Development Video course | Colin Lee LinkedIn Learning | How to make architectural choices between Compose Multiplatform and native UIs, understand the fundamentals of Swift interoperability, and get a comprehensive overview of the essential KMP ecosystem for networking, persistence, and dependency injection. | Paid (~$30-40/month) | 3h |
🌱 | Kotlin Multiplatform by Tutorials (3rd Edition) Book | Kodeco Team (Kevin D. Moore, Carlos Mota, Saeed Taheri) | The fundamentals of sharing code by connecting native UI to a KMP shared module for networking, serialization, and persistence. You'll also see how to apply dependency injection, testing, and modern architecture to build maintainable and scalable real-world apps. | Paid (~$60) | 40-60h |
🌿 | Make your Android application work on iOS Tutorial | JetBrains | The practical steps to migrate an existing Android app to KMP by extracting its business logic into a shared module that can be used by both the original Android app and a new native iOS project. | Free | 2h |
🌿 | Migrate Existing Apps to Room KMP (Google Codelab) Tutorial | Google/ Android | How to migrate an existing Android Room database into a shared KMP module, allowing you to reuse your familiar DAOs and entities on both Android and iOS. | Free | 2h |
🌿 | How to Share ViewModels in Compose Multiplatform (with Dependency Injection!) Video tutorial | Philipp Lackner YouTube | How to implement shared ViewModels in a Compose Multiplatform project using Koin for dependency injection, allowing you to write your state management logic once. | Free | 30 min |
🌿 | The Compose Multiplatform Crash Course 2025 Video course | Philipp Lackner YouTube | How to build a complete, production-ready Book app from scratch using a clean architecture, covering a modern KMP stack including Ktor for networking, Room for the local database, Koin for dependency injection, and multi-platform navigation. | Free | 5h |
🌿 | Building Industry-Level Multiplatform Apps With KMP Video course | Philipp Lackner | How to build a real-world translator app by sharing ViewModels and business logic between native UIs (Jetpack Compose & SwiftUI), covering the full development lifecycle from clean architecture to unit, UI, and end-to-end testing for both platforms. | Paid (~€99) | 20h |
🌿 | Building Industry-Level Compose Multiplatform Android & iOS Apps Video course | Philipp Lackner | How to build a large-scale, offline-first chat application from scratch using a complete Compose Multiplatform stack, including Ktor for real-time WebSockets, Room for local persistence, and Koin for multi-module dependency injection. | Paid (~€199) | 34h |
🌿 | Ultimate Compose Multiplatform: Android/iOS + Testing Video course | Hamidreza Sahraei Udemy | How to build a feature-rich, virtual crypto wallet app entirely with Compose Multiplatform, covering not just the core stack (Ktor, Room, Koin), but also robust unit/UI testing and advanced platform integrations like biometric authentication. | Paid (~€20) | 8h |
🌳 | Article | JetBrains GitHub | Interoperability with iOS (Obj-C/Swift), SKIE, KMP-NativeCoroutines, workarounds for language feature gaps, Swift export, bidirectional interop. | Free | 2h |
🌳 | Multi-Modular Ecommerce App for Android & iOS (KMP) Video course | Stefan Jovanovic Udemy | The full product lifecycle, from designing an e-commerce app Figma UI to building it as a complete, multi-modular application with a shared UI using Compose Multiplatform, while also creating and integrating a full backend with Firebase services for authentication, database, and automated Cloud Functions. | Paid (~€50) | 30h |
🌳 | Exploring Ktor with Kotlin Multiplatform and Compose Video course | Troy Miles LinkedIn Learning | How to build a full-stack Kotlin application by first creating and deploying a secure Ktor backend to AWS, then using Kotlin Multiplatform to build native clients with shared code that consume your API. | Paid (~$30-40/month) | 2-3h |
🌳 | Full-Stack Game Development - Kotlin & Compose Multiplatform Video course | Stefan Jovanovic Udemy | How to build a complete 2D game with Compose Multiplatform, covering physics, collision detection, sprite sheet animations, and deploying it across Android, iOS, desktop, and web (via Kotlin/Wasm) | Paid (~€99) | 8-10h |
🌳 | Philipp Lackner Full-Stack Bundle: KMP + Spring Boot Video course | Philipp Lackner | How to architect, build, and deploy a complete, full-stack chat application, covering everything from a multi-module Spring Boot backend with WebSockets to an offline-first Compose Multiplatform clients (Android, iOS, desktop, web) and a full CI/CD pipeline. | Paid (~€429) | 55h |
🌳 | Article series | Touchlab | How to navigate the entire KMP adoption process within an established native mobile team, from securing initial buy-in and running a technical pilot to scaling the shared codebase with a sustainable, real-world workflow. | Free | 6-8h |
🧩 | API Guidelines for Multiplatform Library Building Documentation | JetBrains | How to design the public API of your multiplatform library, following essential best practices for maximizing code reuse and ensuring broad platform compatibility. | Free | 1-2h |
🧩 | Create Your Kotlin Multiplatform Library Tutorial | JetBrains | How to use the official starter template, set up local Maven publishing, structure your library, and configure publishing. | Free | 2-3h |
🧩 | Documentation/ GitHub | JetBrains | How to use Dokka to automatically generate professional API documentation for your KMP library in multiple formats, with support for mixed Kotlin/Java projects. | Free | 2-3h |
🧩 | GitHub template | JetBrains GitHub | How to quickly bootstrap a new KMP library project using an official template that comes pre-configured with best practices for build setup and publishing. | Free | 1h |
🧩 | Tutorial | JetBrains | The complete, step-by-step process for publishing your KMP library to Maven Central, including setting up credentials, configuring the publishing plugin, and automating the process with CI. | Free | 3-4h |
🧩 | Kotlin Multiplatform Libraries Video course | LinkedIn Learning | The complete lifecycle of creating KMP library, from effective API design and code sharing strategies to final distribution and best practices. | Paid (~$30-40/month) | 2-3h |
🎚 | Resource/ Type | Creator/ Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌱 | Article | JetBrains | The core value of KMP, see real-world use cases, and find the right learning path for your project. | Free | 30 min |
🌱 | Tutorial | JetBrains | How to set up a KMP project and share simple business logic between Android and iOS while keeping the UI fully native. | Free | 1-2h |
🌱 | Get Started With Kotlin Multiplatform (Google Codelab) Tutorial | Google/ Android | How to add a shared KMP module to an existing Android project and integrate it with iOS, using the SKIE plugin to generate idiomatic Swift APIs from your Kotlin code | Free | 1-2h |
🌱 | Create Your First Compose Multiplatform App Tutorial | JetBrains | How to build a complete Compose Multiplatform app from the ground up, covering essential UI components, state management, and resource handling, as you progress from a simple template to a functional time zone app that runs on Android, iOS, desktop, and web. | Free | 2-3h |
🌱 | Create a Multiplatform App Using Ktor and SQLDelight Tutorial | JetBrains | How to build a shared data layer using Ktor for networking and SQLDelight for a local database, and connect it to native UIs built with Jetpack Compose on Android and SwiftUI on iOS. | Free | 4-6h |
🌱 | Expected and Actual Declarations Article | JetBrains | The core expect/actual mechanism for accessing platform-specific APIs from common code, covering different strategies like using functions, properties, and classes. | Free | 1-2h |
🌱 | Using Platform-Specific APIs in KMP Apps Video tutorial | JetBrains YouTube | Best practices for using platform-specific code in your KMP apps. | Free | 15 min |
🌱 | Video course | Mykola Miroshnychenko Gumroad | How to extend your existing Android development skills to iOS by mastering KMP fundamentals like expect/actual and source sets, then building a complete app stack using modern libraries like Ktor for networking and Room for persistence. | Paid (~$60) | 8-12h (in progress) |
🌱 | Kotlin Multiplatform Masterclass Video course | Petros Efthymiou Udemy | How to apply Clean Architecture and MVI from the ground up to build a complete KMP application, integrating a full stack of essential libraries – Ktor, SQLDelight, and Koin – with native Jetpack Compose and SwiftUI UIs. | Paid (€10-20) | 6h |
🌱 | Compose Multiplatform Full Course 2025 - Zero to Hero Video course | Code with FK YouTube | How to build a complete, feature-rich application entirely with Compose Multiplatform, progressing from the fundamentals to advanced, real-world features like Firebase Authentication, offline support with SQLDelight, and real-time updates. | Free | 20h |
🌱 | Kotlin Multiplatform Development Video course | Colin Lee LinkedIn Learning | How to make architectural choices between Compose Multiplatform and native UIs, understand the fundamentals of Swift interoperability, and get a comprehensive overview of the essential KMP ecosystem for networking, persistence, and dependency injection. | Paid (~$30-40/month) | 3h |
🌱 | Kotlin Multiplatform by Tutorials (3rd Edition) Book | Kodeco Team (Kevin D. Moore, Carlos Mota, Saeed Taheri) | The fundamentals of sharing code by connecting native UI to a KMP shared module for networking, serialization, and persistence. You'll also see how to apply dependency injection, testing, and modern architecture to build maintainable and scalable real-world apps. | Paid (~$60) | 40-60h |
🎚 | Resource/ Type | Creator/ Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌿 | Make your Android application work on iOS Tutorial | JetBrains | The practical steps to migrate an existing Android app to KMP by extracting its business logic into a shared module that can be used by both the original Android app and a new native iOS project. | Free | 2h |
🌿 | Migrate Existing Apps to Room KMP (Google Codelab) Tutorial | Google/ Android | How to migrate an existing Android Room database into a shared KMP module, allowing you to reuse your familiar DAOs and entities on both Android and iOS. | Free | 2h |
🌿 | How to Share ViewModels in Compose Multiplatform (with Dependency Injection!) Video tutorial | Philipp Lackner YouTube | How to implement shared ViewModels in a Compose Multiplatform project using Koin for dependency injection, allowing you to write your state management logic once. | Free | 30 min |
🌿 | The Compose Multiplatform Crash Course 2025 Video course | Philipp Lackner YouTube | How to build a complete, production-ready Book app from scratch using a clean architecture, covering a modern KMP stack including Ktor for networking, Room for the local database, Koin for dependency injection, and multi-platform navigation. | Free | 5h |
🌿 | Building Industry-Level Multiplatform Apps With KMP Video course | Philipp Lackner | How to build a real-world translator app by sharing ViewModels and business logic between native UIs (Jetpack Compose & SwiftUI), covering the full development lifecycle from clean architecture to unit, UI, and end-to-end testing for both platforms. | Paid (~€99) | 20h |
🌿 | Building Industry-Level Compose Multiplatform Android & iOS Apps Video course | Philipp Lackner | How to build a large-scale, offline-first chat application from scratch using a complete Compose Multiplatform stack, including Ktor for real-time WebSockets, Room for local persistence, and Koin for multi-module dependency injection. | Paid (~€199) | 34h |
🌿 | Ultimate Compose Multiplatform: Android/iOS + Testing Video course | Hamidreza Sahraei Udemy | How to build a feature-rich, virtual crypto wallet app entirely with Compose Multiplatform, covering not just the core stack (Ktor, Room, Koin), but also robust unit/UI testing and advanced platform integrations like biometric authentication. | Paid (~€20) | 8h |
🎚 | Resource/ Type | Creator/ Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🌳 | Article | JetBrains GitHub | Interoperability with iOS (Obj-C/Swift), SKIE, KMP-NativeCoroutines, workarounds for language feature gaps, Swift export, bidirectional interop. | Free | 2h |
🌳 | Multi-Modular Ecommerce App for Android & iOS (KMP) Video course | Stefan Jovanovic Udemy | The full product lifecycle, from designing an e-commerce app Figma UI to building it as a complete, multi-modular application with a shared UI using Compose Multiplatform, while also creating and integrating a full backend with Firebase services for authentication, database, and automated Cloud Functions. | Paid (~€50) | 30h |
🌳 | Exploring Ktor with Kotlin Multiplatform and Compose Video course | Troy Miles LinkedIn Learning | How to build a full-stack Kotlin application by first creating and deploying a secure Ktor backend to AWS, then using Kotlin Multiplatform to build native clients with shared code that consume your API. | Paid (~$30-40/month) | 2-3h |
🌳 | Full-Stack Game Development - Kotlin & Compose Multiplatform Video course | Stefan Jovanovic Udemy | How to build a complete 2D game with Compose Multiplatform, covering physics, collision detection, sprite sheet animations, and deploying it across Android, iOS, desktop, and web (via Kotlin/Wasm) | Paid (~€99) | 8-10h |
🌳 | Philipp Lackner Full-Stack Bundle: KMP + Spring Boot Video course | Philipp Lackner | How to architect, build, and deploy a complete, full-stack chat application, covering everything from a multi-module Spring Boot backend with WebSockets to an offline-first Compose Multiplatform clients (Android, iOS, desktop, web) and a full CI/CD pipeline. | Paid (~€429) | 55h |
🌳 | Article series | Touchlab | How to navigate the entire KMP adoption process within an established native mobile team, from securing initial buy-in and running a technical pilot to scaling the shared codebase with a sustainable, real-world workflow. | Free | 6-8h |
🎚 | Resource/ Type | Creator/ Platform | You will learn | Price | Est. time |
|---|---|---|---|---|---|
🧩 | API Guidelines for Multiplatform Library Building Documentation | JetBrains | How to design the public API of your multiplatform library, following essential best practices for maximizing code reuse and ensuring broad platform compatibility. | Free | 1-2h |
🧩 | Create Your Kotlin Multiplatform Library Tutorial | JetBrains | How to use the official starter template, set up local Maven publishing, structure your library, and configure publishing. | Free | 2-3h |
🧩 | Documentation/ GitHub | JetBrains | How to use Dokka to automatically generate professional API documentation for your KMP library in multiple formats, with support for mixed Kotlin/Java projects. | Free | 2-3h |
🧩 | GitHub template | JetBrains GitHub | How to quickly bootstrap a new KMP library project using an official template that comes pre-configured with best practices for build setup and publishing. | Free | 1h |
🧩 | Tutorial | JetBrains | The complete, step-by-step process for publishing your KMP library to Maven Central, including setting up credentials, configuring the publishing plugin, and automating the process with CI. | Free | 3-4h |
🧩 | Kotlin Multiplatform Libraries Video course | LinkedIn Learning | The complete lifecycle of creating KMP library, from effective API design and code sharing strategies to final distribution and best practices. | Paid (~$30-40/month) | 2-3h |