Field notes from an engineer who writes.
Short, sharp lessons pulled from real Android and KMP work, each with a recurring cast of personified bugs. One idea, written once, adapted to dev.to, Medium, Hashnode, and LinkedIn.
Newest: Every filter needs a documented exception, 2026-08-20
Lessons
Sensors Who LieLIVEEvery filter needs a documented exception
Chain Of CustodyLIVENever silently change a number someone gets paid on
Sensors Who LieLIVEWhen two sensors disagree, rank them
Chain Of CustodyLIVEYour data model is where uncertainty goes to die
Sensors Who LieLIVEOne global threshold is how you delete valid data
Sensors Who LieLIVEFiltered should never mean deleted
Ghosts In The RecompositionLIVEcollectAsState is quietly leaking your work
One Brain Two BodiesLIVEexpect/actual is the wrong default in KMP
Ghosts In The RecompositionLIVEYour LazyColumn recomposes on every scroll
The Night ShiftLIVEThe 5-second window that crashes your service
The Coroutine CourtLIVECancellationException is not an assassin
Sensors Who LieLIVETeaching a phone to disbelieve its own GPS
+5 more in progress
- SOONNotes From The LoopThe captain routes. The captain never rows.
- SOONCrossing The SchemaI audited my own migrations. It was not fine.
- SOONNotes From The LoopPlausible is worse than wrong
- SOONChain Of CustodyYour thresholds do not belong in constants
- SOONChain Of CustodyInvariants are cheap. Silent corruption is not.
Series
Chain Of Custody4
Crossing The Schema1
Ghosts In The Recomposition2
Notes From The Loop2
One Brain Two Bodies1
Sensors Who Lie5
The Coroutine Court1
The Night Shift1The bestiary · every recurring character, drawn
The full cast, generated once and kept: the 10 who already star in a lesson, and the 3 still waiting in the wings.













Voice, measured
A style lint stayed green for a year while checking the mechanical tier only, dashes and banned phrases. It never once looked at whether the writing actually sounded like him. Only counting the archive against what shipped caught the drift.
- Contractions23.19 to 1.89 per 1k
- First person20.23 to 4.09 per 1k
- Questions8.70 to 1.48 per 1k
- Direct address rose11.89 to 14.48 per 1k
- Hedging8.28 to 2.53 per 1k
Measured 2026-09-02. Re-runnable, not recalled.
Everything I wrote before I wrote code, the magazine years, the societies and the archive they produced, lives in The Ink.