KMP 102 · Part 5
KMP-102 - Modularization in KMP
6 min read Intermediate
In the last article we dug into the quirks of code exported to Objective-C headers, along with the best practices for what to export.
Deep technical writing on Kotlin Multiplatform, Android tooling and mobile platform engineering — organized into learning paths you can follow end to end.
New here? Start with KMP 101
KMP 102 · Part 5
6 min read Intermediate
In the last article we dug into the quirks of code exported to Objective-C headers, along with the best practices for what to export.
10 min read Advanced
The Default Hierarchy Template in KMP projects is a great way to reduce boilerplate code and start working quickly. However, it came with an unexpected…
Claude Code 101 · Part 2
19 min read Beginner
In the previous article, we built the entire factory: the evolution from manual production to autonomous machines, the ecosystem of agentic tools, the three pillars (prompt, context, and harness engineering). You know what the factory does, who works in it, and even how much revenue it pulls in.
Claude Code 101 · Part 1
15 min read Beginner
September 2025. I was leading a critical dependency upgrade on a mobile app with millions of users. The kind of change that breaks tests in a cascade. The deadline was October: if it wasn't ready, the app wouldn't ship to the store.
8 min read Beginner
Kotlin testing has a problem that gets worse the more successful your project becomes.
KMP 102 · Part 4
6 min read Intermediate
In the last post, we learned how to use Kotlin code in Swift. We covered a few techniques to improve the code exported to Swift, and how annotations like @HiddenFromObjC and @HidesFromObjC control the visibility of code in Swift.
KMP 102 · Part 3
8 min read Intermediate
In the last post, we learned how to create an XCFramework from Kotlin code and explored some characteristics of the generated build types.
KMP 102 · Part 2
10 min read Intermediate
In the previous post, we learned how Kotlin/Native exports a collection of .frameworks in the XCFramework format.
KMP 102 · Part 1
4 min read Intermediate
Welcome to the KMP-102 series. We dig deeper into Kotlin Multiplatform concepts, learning more about how to integrate our Kotlin code into iOS and beyond.
Kotlin Koans BR · Part 12
2 min read Beginner
When importing a class or function, you can give it a different name by adding as NewName after the import directive. This can be useful when…
Kotlin Koans BR · Part 13
4 min read Beginner
Implement the extension functions Int.r() and Pair.r() so they convert an Int and a Pair into a RationalNumber.
Kotlin Koans BR · Part 2
2 min read Beginner
Make the joinOptions() function return the list in JSON format (for example, [a, b, c]) by specifying only two arguments.
Kotlin Koans BR · Part 3
4 min read Beginner
Imagine you have several overloads of foo() in your favorite language. You can replace them all with a single function in Kotlin.
Kotlin Koans BR · Part 9
9 min read Beginner
Rewrite the following code in Kotlin, then add the data modifier. A beginner-friendly look at Kotlin classes and data classes.