Skip to content

Blog

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

Series

Featured

Kotlin Multiplatform

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.

AI & Tooling

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.

AI & Tooling

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.

Kotlin Multiplatform

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.

Kotlin Multiplatform

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.

Kotlin Multiplatform

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

Kotlin Koans BR · Part 12

Kotlin Koans BR: Import alias

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…