Make illegal states unrepresentable, until you have to explain themHow to decide which constraints belong in your types and which belong in your validator.9 min read·underdroid.hashnode.dev2TAAug 30
Proto DataStore for Configuration, Room for Entities: Choosing the Right Cache MediumWhy 'local cache' isn't one thing, and how matching your persistence layer to your data shape keeps your storage coherent7 min read·underdroid.hashnode.devApr 7
Self-Referential Generics in Kotlin: When Type Safety Requires Talking to YourselfHow to bridge ViewModel type erasure using reified parameters and sealed classes.13 min read·underdroid.hashnode.devApr 1
Stop Copying Gradle CodeA Practical Guide to Convention Plugins10 min read·underdroid.hashnode.devMar 24