> system online - lscythe - android engineer - jakarta, id - available for work

writing

blog

opinions, deep dives, and things i figured out the hard way.

01
type-safe navigation from scratch
Jul 10, 20264 min read
building type-safe navigation without a library using sealed classes and kotlinx.serialization
androidcomposenavigationkotlin
02
the problem with feature flags
May 8, 20265 min read
how feature flag systems accumulate technical debt and rot codebases over time
androidarchitecturefeature-flagstechnical-debt
03
room is still the right choice
Feb 14, 20264 min read
defending Room in 2026 against SQLDelight and Realm - it's still the pragmatic default
androidroomdatabasesqlite
04
understanding android process model
Jan 19, 20265 min read
how android decides to kill your process and why your app state disappears
androidprocesseslifecyclearchitecture
05
compose stability annotations are a smell
Nov 3, 20254 min read
if you need @Stable everywhere, your data model is wrong - not your compose code
androidcomposekotlinperformance
06
koin vs hilt after three years
Sep 18, 20254 min read
a personal take after running both in production, with concrete tradeoffs and no framework loyalty
androiddependency-injectionkoinhiltkotlin
07
the viewmodel is not your state machine
Jun 4, 20254 min read
why treating ViewModel as a state machine leads to tangled reducers and unreadable code
androidarchitectureviewmodelcompose
08
build times are a product problem
Apr 22, 20254 min read
slow builds affect team morale and product velocity, not just developer experience
androidgradlebuild-systemsproductivity
09
coroutine context is not magic
Mar 12, 20254 min read
a deep dive into CoroutineContext, dispatchers, and why withContext is not a silver bullet
kotlincoroutinesandroidconcurrency
10
write your gradle in kotlin
Feb 7, 20253 min read
groovy gradle DSL should be considered deprecated for any project started after 2023
gradlekotlinandroidbuild-systems