News
I Just Wanted Code Templates, but I Ended Up Writing a WebStorm Plugin
Aleksei Kovrigin is a Software Engineer at Social Discovery Group. He wanted to create a tool to help Frontend developers with cod...
Why “Obvious” Performance Optimizations Often Backfire: Lessons From Systems Ser...
Theoretical optimizations can backfire in practice. We learned this the hard way at DoorDash when a "smart" HashMap change made la...
Jetpack Compose Memory Leaks: A Reference-Graph Deep Dive
Jetpack Compose memory leaks are usually reference leaks. Learn the top leak patterns, why they happen, and how to fix them.
How to Structure Dagger Components So Your Build System Doesn’t Hate You
An architecture for Dagger that scales well to large codebases. Provided as a series of simple rules that humans and agents can fo...
The Real Fix for React Native + pnpm: Hoist Everything
Learn why React Native projects break under pnpm’s default linking, and why switching to node-linker=hoisted is the simplest, most...
Building LetterLens: An OCR-Powered Android App With Kotlin + ML Kit, and Ktor
Problem: UK NHS & council letters are dense, full of dates and instructions, and often cause confusion. Solution: I built LetterL...
Turning the Compiler Into Your Co-Architect
Polymorphic constructors aren’t built-in, but enums + static arrays can emulate them safely. This gives compile-time guarantees wi...
A Guide to OpenTelemetry Tracing for the JVM
Let's compare the different zero-code OpenTelemetry approaches on the JVM, covering the most widespread.
Resisting Tipping Culture with Kotlin Multiplatform
TippingPoint is a new app that lets users deny tips and donate to charity instead.
