Learn Kotlin Programming & JVM
Learn Kotlin Programming & JVM — Write and run real Kotlin on a compiler from your phone
Learn Kotlin Programming & JVM is a free iOS and Android app for beginners, Java developers and interview candidates who want to learn Kotlin by writing it. Every lesson ends with code you edit and run on a real compiler (kotlinc on the JVM), with errors that point to a line number. 51 courses and 203 lessons go from your first val to coroutines, Flow, generics and DSLs, with an AI Mentor and a daily practice Lab alongside.
- Price
- Free, Pro upgrade
- Platforms
- iOS and Android
- Languages
- 22
- Age rating
- 4+
- Requires
- iOS 15.1 or later


Read a little, then compile it yourself.
The language does a lot of the teaching: its compiler rejects a possible null, warns about an unused value and names the line in its error message. The app sends your code to a real kotlinc on the JVM and returns errors and warnings with line numbers, so reading what the compiler says becomes part of learning.
What it is
Learn Kotlin Programming & JVM is a free iOS and Android app that teaches Kotlin by having you write and run it. Code runs on a real Kotlin compiler (kotlinc on the JVM) in the cloud, and errors come back with line numbers. It covers 51 courses and 203 short lessons from beginner (A1) to advanced (C1), from variables and when expressions to coroutines, Flow, Ktor and Multiplatform, with an AI Mentor, a daily Lab, 15 guided projects, 60 missions and interview questions.
Inside the app
What it looks like





The course
What the Kotlin course covers
These are real courses from the Learn Kotlin category on this site, picked to show the path from a first program to coroutines and server code.
Welcome to Kotlin
A first look at the language, followed by Kotlin Playground: Interactive First Steps for running your first programs.
Null Safety Deep Dive
How the type system separates nullable from non-null, with Safe Calls & Let Chains as the everyday tools.
Data Classes and Destructuring
Classes that hold data, with copy, equals & componentN Functions showing what the compiler generates for you.
Scope Functions
let, run, apply, also and with, and when each reads best, then the Builder Pattern with apply & also.
Functional Pipelines with map/filter/fold
Transforming collections with lambdas, then Sequences for lazy evaluation of long pipelines.
Coroutine Cancellation & Timeouts
Cancelling work cleanly and adding timeouts, with Flow Transformation & Error Handling and StateFlow & SharedFlow Patterns for streams of values.
Ktor: Building HTTP Servers
The language on the server, paired with Exposed: Type-Safe SQL and Serialization for data.
Multiplatform Mobile Basics
Sharing code across platforms, continuing in KMP: Building a Shared Business Logic Layer.
How it works
How a lesson works
Each lesson ends with code you change and run, so the language is practised in the same few minutes in which it is read.
Read one short lesson
Start with the free first course or jump to the topic you need. A lesson explains one idea, such as string templates, a when expression or a safe call, in a few minutes.
Edit and run code on a real compiler
Write the code in the built-in editor and run it on a JVM compiler in the cloud. Errors and warnings return with line numbers, so you learn to read them, and you can save code and keep notes.
Practise in the Lab, then test yourself
Daily Lab exercises keep a streak going, quizzes explain every answer, and missions, guided projects and the AI Mentor handle what does not click.
What's inside
What comes with the app
51
Courses, A1 to C1
203 short lessons: variables and string templates, when expressions, ranges and collections, null safety, data classes, functional pipelines, sequences, coroutines, Flow, generics, delegates, annotations and reflection.
kotlinc
Real JVM compiler
Code runs on the compiler on the JVM in the cloud, not in a simulator, with errors and warnings that point to a line number.
The Lab
Daily coding practice
A Kata of the day with hidden tests, NPE Hunter for programs that really crash, Coroutine Lab on a virtual clock, a Compose-style layout preview, Ship It and Kotlin Doctor, plus recall cards and a mistake journal.
15
Guided projects
Every step compiles and is checked against the expected output, and Ship It grows one program into a command-line tool in seven steps.
60
Coding missions
Short missions to practise what each course taught, plus a World Coding Challenge with three global rounds a day and a live leaderboard.
AI
AI Mentor and interview prep
Ask the AI Mentor about an error or a concept and get a clear answer in seconds. Interview questions and a cheat sheet are in the app for job preparation.
Background
What is Kotlin used for, and is it worth learning if you already know Java?
Kotlin is a statically typed language that compiles to JVM bytecode and is a preferred language for Android development. It is also used on servers, with frameworks such as Ktor, and can be compiled for other targets through Multiplatform, Native and Wasm. For a Java developer the pitch is less boilerplate and a type system that treats null seriously; for a beginner it is a modern first language with the same job market behind it. Because it runs on the Java Virtual Machine, it can use the existing Java libraries.
Null safetythe feature people switch for
A type that can hold null is written differently from one that cannot, so the compiler flags a possible NullPointerException before the program runs. Safe calls, the elvis operator, let chains and smart casts are the everyday tools for handling it.
Concise classesless boilerplate
A data class generates equals, hashCode, toString and copy from one line, and companion objects, enum classes and sealed interfaces cover patterns that take pages of code in older Java. It is the first thing a Java developer notices.
Coroutines and Flowconcurrency without callbacks
Coroutines let code that waits, such as a network call, be written in a straight line, with launch, async and await. Flow, StateFlow and SharedFlow extend the idea to streams of values, and cancellation and timeouts are where most beginners need practice.
Compose and Multiplatformwhere the language goes next
Jetpack Compose describes Android screens as functions, and Multiplatform shares business logic between Android and iOS. Both assume you are fluent in lambdas, scope functions and generics first.
Fit
Who it's for — and who it isn't
A good fit if you
- Are a beginner picking this language as a first programming language
- Are a Java developer moving over and want null safety, data classes and coroutines in small steps
- Are preparing for a developer interview and want questions plus daily practice
- Want to read real compiler errors with line numbers instead of only watching explanations
- Learn in short sessions on a phone and want a streak, quizzes and recall cards to keep going
Not the right tool if you
- Expect to run code with no connection: it runs on a compiler in the cloud
- Want to build a full Android app in an IDE; the app teaches the language and its idioms rather than replacing Android Studio
- Need everything free: the first course, the first guided project, two missions, the daily Lab and one AI Mentor question a day are, and Pro unlocks the rest
Questions
Frequently asked questions
What is Learn Kotlin Programming & JVM?
Learn Kotlin Programming & JVM is a free iOS and Android app for learning Kotlin. Lessons end with code you edit and run on a real compiler on the JVM, and the 51 courses run from beginner to advanced. It is an independent learning tool, not affiliated with or endorsed by JetBrains, and Kotlin is a trademark of JetBrains s.r.o.
Can I learn Kotlin with no programming experience?
Yes. The course starts from your first val and builds through variables, string templates, when expressions, ranges, loops and collections. Each lesson is short, and the AI Mentor can explain an idea or an error in plain words. Java experience helps with the later object-oriented topics but is not required.
Should a Java developer learn Kotlin?
It is worth it if you want less boilerplate and compiler-checked null safety on the same JVM and the same libraries. The app suits Java developers because it moves through data classes, null safety, scope functions, coroutines and generics in small steps, each practised on a real compiler.
Does the app really run Kotlin, and does it need internet?
The app runs your code on a real Kotlin compiler (kotlinc on the JVM) in the cloud and sends back compiler errors and warnings with line numbers. Because the compiler is remote, running code needs a connection.
What is the Lab?
The Lab is the daily practice section. It includes a Kata of the day with hidden tests, NPE Hunter with programs that really crash on a NullPointerException, Coroutine Lab with launch, async, await and cancel scenarios on a virtual clock, a Compose-style layout preview, Ship It, and Kotlin Doctor, which scores your code. Recall cards and a mistake journal show what keeps tripping you.
Does it cover coroutines, Flow and Compose?
Coroutines and Flow have dedicated courses covering cancellation, timeouts, SupervisorScope, channels, Flow, StateFlow and SharedFlow. Compose appears as a layout preview in the Lab rather than as a full course. Multiplatform, Ktor and Exposed also have their own courses.
Is it good for interview preparation?
The app includes interview questions for developer job preparation, a cheat sheet for looking up syntax quickly, quizzes that explain every answer and daily Lab exercises. The mistake journal and recall cards help you revisit the topics you miss.
What is free, what does Pro add, and is there a certificate?
Free to start: the first course, the first guided project, two missions, the daily Lab practice and one AI Mentor question a day. The free version shows ads. Pro unlocks every course, project and mission and unlimited AI Mentor, removes ads, and lets you take the final exam for a certificate of completion, which records your work and is not an accredited qualification.
Why does the app say Kotlin Academy inside?
Kotlin Academy is the name shown on the learning-path card inside the app, while the store listing is titled Learn Kotlin Programming & JVM. They are the same app. The App Store has also listed it under a slightly different title, Learn Kotlin - JVM & Compose.
Which platforms and languages are supported?
The app runs on iOS through the App Store and on Android through Google Play, and the interface is available in 22 languages. It is rated 4+ and needs iOS 15.1 or later on Apple devices.
More from CoddyKit
Available on iOS and Android.