Writing

Things I've learned
the hard way.

Notes on Android development, indie shipping, and building the kind of software I'd actually want to use. Occasionally opinionated.

Kotlin

Why I Chose Coroutines Over RxJava (Finally)

Rx felt like the obvious choice when I started building Spectral's networking. Twelve months later I rewrote the whole layer with Flow and never looked back. Here's the honest comparison.

Feb 28, 2026 · 6 min
Compose

Building a Custom Masonry Layout in Jetpack Compose

Compose's Layout composable finally makes complex grid arrangements possible without dropping to Views. I built Spectral's wallpaper grid entirely with it - here's how.

Feb 12, 2026 · 5 min
Indie

What It's Actually Like Shipping Solo

I'm a senior engineer at my day job. I thought building an indie app would be easy. Reader, it was not. A field report on design, marketing, and the empty feedback loop.

Jan 20, 2026 · 9 min
Performance

Debugging a Memory Leak That Wasn't There

LeakCanary pointed fingers. The Android Profiler disagreed. After three days I realized we were both wrong - and the bug was in something I'd trusted for years.

Dec 14, 2025 · 7 min