← All Courses
Learn Kotlin
Coming SoonAndroid, backend, and multiplatform development
Kotlin Android Ktor Multiplatform JVM
Coming Soon
Google’s preferred language for Android development, but Kotlin goes far beyond mobile. Backend (Ktor, Spring), multiplatform (KMP), Compose Multiplatform for shared UI, and full JVM interop.
This course builds from Kotlin fundamentals through Android development to multiplatform applications.
Start Here — Learning Roadmap
A suggested path from zero to mastery. Follow these steps in order:
- Learn Kotlin Basics — Start with syntax, types, null safety, data classes, and when expressions using Kotlin Koans or the official docs
- Practice with Kotlin Exercises — Use Exercism, Kotlin Koans, and small console apps to build fluency with the language
- Understand Kotlin Idioms — Learn scope functions (let, run, apply, also), extension functions, sealed classes, and destructuring
- Start Android Development — Follow Google’s Android Basics with Compose course to learn Jetpack Compose and Android architecture
- Learn Jetpack Compose — Build declarative UIs with Compose, understand recomposition, state hoisting, and the Compose lifecycle
- Master Android Architecture — Study ViewModels, Repository pattern, Room database, Hilt dependency injection, and Navigation
- Learn Coroutines — Understand structured concurrency, Flows, suspend functions, and coroutine scopes for async programming
- Build Production Apps — Implement networking (Retrofit/Ktor), offline-first patterns, push notifications, and app widgets
- Explore Kotlin Multiplatform — Share business logic across Android, iOS, web, and desktop with KMP and Compose Multiplatform
- Go Backend with Kotlin — Build server-side applications with Ktor or Spring Boot, leveraging existing JVM ecosystem knowledge
Official & Core Documentation
- Kotlin Documentation — Official Kotlin language reference, tutorials, and guides (Beginner)
- Kotlin API Reference — Complete standard library API documentation (All levels)
- Kotlin Koans — 40+ interactive exercises in the browser for learning Kotlin syntax and idioms (Beginner)
- Android Kotlin Fundamentals — Google’s official Android + Kotlin course (Beginner)
- Kotlin Multiplatform Documentation — Official docs for sharing code across platforms (Intermediate)
- Ktor Documentation — JetBrains’ official guide to building server-side applications with Kotlin (Intermediate)
- Jetpack Compose Documentation — Official docs for Android’s modern declarative UI toolkit (Beginner)
- Android Developer Roadmap — Community-created visual roadmap for Android developers (Beginner)
- Kotlin Style Guide — Official coding conventions and style guide (Beginner)
GitHub Awesome Lists & Curated Collections
- awesome-kotlin — Curated list of Kotlin frameworks, libraries, documents, and other resources
- awesome-android-kotlin-apps — Curated list of open-source Android apps built with Kotlin for learning and reference
- awesome-android — Curated list of Android packages and resources including Kotlin libraries
- awesome-jetpack-compose — Curated list of Jetpack Compose libraries, tools, and tutorials
- awesome-kotlin-multiplatform — Resources for Kotlin Multiplatform development
- Kotlin-Android-Open-Source — Open-source Kotlin Android examples and libraries
Interactive Courses & Hands-On Platforms
Free Courses
- Google Android Basics with Compose — Official free course for building Android apps with Jetpack Compose (Beginner)
- Kotlin Playground — Write and run Kotlin code directly in the browser (Beginner)
- Kotlin by Example — Interactive examples covering Kotlin features (Beginner)
- Google Udacity — Developing Android Apps with Kotlin — Free course from Google on Android development (Beginner)
University & MOOC Courses
- JetBrains Academy — Kotlin — Project-based Kotlin learning with real-world applications (Beginner, Paid)
- Educative — Learn Kotlin — Interactive Kotlin course with zero setup required (Beginner, Paid)
- Coursera — Kotlin for Java Developers (JetBrains) — Free-to-audit course from JetBrains on Kotlin for experienced Java developers (Intermediate)
- Udemy — Kotlin Masterclass — Comprehensive Kotlin course covering all language features (Beginner, Paid)
Practice & Challenges
- Exercism Kotlin Track — Mentored coding exercises with community feedback (Beginner)
- Codewars Kotlin — Progressive coding challenges in Kotlin (All levels)
- LeetCode Kotlin — Algorithm challenges with Kotlin support (Intermediate)
- Kotlin Koans (IDE) — Practice Kotlin idioms directly in IntelliJ IDEA (Beginner)
Video Courses & YouTube Channels
Structured Course Playlists
- Kotlin by JetBrains — Official Kotlin channel with talks, tutorials, and KotlinConf sessions (All levels)
- freeCodeCamp — Kotlin Course — Full Kotlin course for beginners on YouTube (Beginner)
- Android Developers (Official) — Official Google channel with Android and Kotlin content (All levels)
- KotlinConf Talks — Recorded sessions from the annual Kotlin conference (Intermediate)
Individual Creators & Channels
- Philipp Lackner — Android, Kotlin Multiplatform, and Compose tutorials — the top Kotlin YouTube channel (Beginner)
- Stevdza-San — Android development with Kotlin and Jetpack Compose (Beginner)
- CodingFlow — Kotlin and Android tutorials with modern architecture patterns (Intermediate)
- Coding with Mitch — Practical Android app builds using Kotlin (Intermediate)
- Donn Felker — Android development tips and Kotlin tutorials (Beginner)
- Charfaoui Younes — Kotlin Multiplatform and Compose Multiplatform tutorials (Intermediate)
- Simplified Coding — Android development tutorials with Kotlin and Jetpack (Beginner)
- KotlinConf 2024 Talks — Recorded sessions from the annual Kotlin conference (Intermediate)
- Google I/O Android Talks — Official Android and Kotlin talks from Google I/O (Intermediate)
Books & Long-Form Reading
Free Online Books
- Kotlin Official Docs — Comprehensive free reference covering all language features (Beginner)
- Android Developer Guides — Free official guides covering Android development with Kotlin (Beginner)
- Ktor Documentation — Free server-side Kotlin framework documentation (Intermediate)
- Kotlin Notes for Professionals — Free reference compiled from Stack Overflow documentation (All levels)
- Jetpack Compose Tutorial — Free official Google tutorial for getting started with Compose (Beginner)
Essential Paid Books
- Kotlin in Action (2nd Edition) — Comprehensive Kotlin guide written by JetBrains developers (Intermediate, Paid)
- Atomic Kotlin — Bruce Eckel and Svetlana Isakova’s step-by-step guide from basics to advanced (Beginner, Paid)
- Head First Kotlin — Visual, hands-on approach to learning Kotlin (Beginner, Paid)
- Kotlin Coroutines Deep Dive — Deep dive into Kotlin’s concurrency model (Advanced, Paid)
- Android Programming with Kotlin (Big Nerd Ranch) — The definitive Android development guide (Intermediate, Paid)
- Kotlin Design Patterns and Best Practices — Idiomatic Kotlin patterns for real-world applications (Intermediate, Paid)
Community, Practice & News
Forums & Discussion
- Kotlin Slack — Official Kotlin community Slack workspace (request invite at kotlinlang.org)
- r/Kotlin — Active Reddit community for Kotlin developers
- r/androiddev — Reddit community for Android development, heavily Kotlin-focused
- Stack Overflow — Kotlin — Q&A archive for Kotlin questions
- Kotlin Discussions (GitHub) — Official discussions for Kotlin Evolution and Enhancement Proposals
Newsletters & Blogs
- Kotlin Weekly — Weekly newsletter with Kotlin articles, libraries, and community news
- Android Weekly — Free weekly Android and Kotlin development newsletter
- Talking Kotlin Podcast — Podcast discussing Kotlin development, libraries, and community
- JetBrains Kotlin Blog — Official blog with release announcements and technical articles
- ProAndroidDev — Community-driven Medium publication for Android and Kotlin development
Package Registries & Ecosystems
- Maven Central (Kotlin) — Central repository for Kotlin/JVM libraries
- KotlinConf — Annual official Kotlin conference with recorded talks available online
- Kotlin Multiplatform Wizard — Generate Kotlin Multiplatform project templates from JetBrains
Tools & Environments
- IntelliJ IDEA — The best Kotlin IDE, created by the same team that created Kotlin (Community edition is free)
- Android Studio — Google’s official IDE for Android development, built on IntelliJ IDEA
- Kotlin Playground — Browser-based Kotlin editor for quick experiments and sharing
- Detekt — Static analysis tool for Kotlin with code smell detection and complexity reports
- ktlint — Kotlin linter and formatter with Kotlin style guide rules
- Kotest — Flexible and comprehensive testing framework for Kotlin
- Gradle Kotlin DSL — Type-safe build scripts using Kotlin instead of Groovy
- Compose Preview — Live preview of Compose UI components directly in Android Studio
- Flipper — Mobile debugging platform for Android with layout inspection and network monitoring
- LeakCanary — Memory leak detection library for Android, essential for production apps
- Firebase Crashlytics — Real-time crash reporting for Android apps with Kotlin support