Writing

Blog

kotlin-multiplatformandroidiossqldelightoffline-first

Building an Offline-First App — No Backend, No Auth, No Cloud

BoxIndex is a home inventory app with no login screen, no server, and no subscription. Here's what that forces you to think about as a developer.

April 11, 2026Read →
kotlin-multiplatformcompose-multiplatformandroidiosdeep-linking

End-to-End QR Deep Linking in a Kotlin Multiplatform App

How we wired QR code generation, custom URL schemes, and cross-platform deep link routing in BoxIndex — a KMP app built with Compose Multiplatform.

April 8, 2026Read →
jetpack-composecompose-multiplatformandroidkotlindebugging

Why I Threw Away Material Slider — and the Stale Closure Bug That Made Me

Building a custom gradient slider in Jetpack Compose Multiplatform, and the one-liner that fixed a subtle, maddening bug.

April 3, 2026Read →
kotlin-multiplatformcompose-multiplatformandroidioshaptics

Cross-Platform Haptics in Kotlin Multiplatform: One Interface, Two Engines

How PickPerfect calls hapticTick() from shared Compose code while each platform does its own thing under the hood.

April 1, 2026Read →