Bits
All the Bits I've posted.
-
Fuel Strategy: Paging in Compose Multiplatform
Nobody starts a two-hour race with enough fuel for two hours. You run stints. Paging works the same way, and since 3.3 you can run the whole strategy from commonMain.
-
Change the Map: Feature Flags and Remote Config in Kotlin Multiplatform
A driver changes the engine map from the wheel, mid-race, no pit stop required. Feature flags do the same for your app: change behaviour without shipping a build. Here's how I structure flags and remote config once, in commonMain, for both platforms.
-
The Same System: Advanced expect/actual in KMP
expect/actual is easy until you leave the trivial expect fun behind. Here's what bites with expect classes, constructors, actual typealiases, and the compiler rules nobody warns you about.
-
Safety Car: Coroutine Exception Handling in KMP
An uncaught coroutine exception crashes your KMP app on both platforms, and the platform safety nets don't extend to iOS. Here's how I build crash boundaries in commonMain.
-
Warm Tyres: Image Loading and Caching in Compose Multiplatform with Coil 3
Tyre warmers keep rubber at temperature so the car has grip the instant it leaves the box. Coil 3's memory and disk cache do the same for images — and the same code now runs on Android and iOS from commonMain.
-
Through the Lens: Barcode Scanning in Compose Multiplatform
expect/actual isn't just for business logic. Here's how to build a shared barcode scanner Composable that reads through any platform's lens.
-
Homologated: Publishing Your Kotlin Multiplatform Library to Maven Central
Before a race car can compete, it needs to be homologated. Before your KMP library can be used by anyone, it needs Maven Central.
-
The Pit Crew: Advanced Ktor Client Configuration for KMP
The pit crew doesn't wait to be asked. They intercept the car, do their work, and the driver rejoins the race. Ktor plugins work the same way: auth, logging, and retry all happen before your business logic sees a thing.
-
KMP Splash: How I Stopped Opening Xcode for Splash Screens
The pit crew was always there. I just had to build it: a Gradle plugin that automates iOS and Android splash screen setup from a single config block.
-
Drop the Clutch: Three Metro DI Patterns Every KMP Developer Should Know
Metro drops the clutch on runtime DI errors. Three patterns in a real KMP app: binding contributions, platform graphs, and child scopes.