Kotlin Articles

Kotlin Value Classes and Inline Classes: Zero-Overhead Type Safety

A deep dive into Kotlin inline class and value class compilation, boxing elimination, JVM signatures, Android performance patterns, and serialization compatibility.

Kotlin Symbol Processing: KSP from Annotation Scanning to Code Generation

A full walkthrough of KSP as a KAPT replacement, from SymbolProcessor and Resolver to CodeGenerator, incremental builds, multiplatform support, and migration.

Kotlin Sealed Classes and Interfaces: Type-Safe UI State

A practical guide to Kotlin sealed classes and sealed interfaces, from exhaustive when checks to type-safe Compose UI state, MVI reducers, Flow results, and Navigation routes.

Kotlin Contracts: Smart Casts, Type Inference, and callsInPlace

A deep dive into Kotlin Contracts, showing how returns() implies and callsInPlace help the compiler recover smart casts, variable initialization, and better type inference.

Kotlin Context Receivers: Type-Safe Implicit Contexts

How Kotlin Context Receivers provide type-safe implicit context injection, avoid Multiple Receivers ambiguity, and fit Android ViewModel and Compose architecture.

Jetpack Compose Phases: From Composition to Layout and Drawing

A deep dive into the three Jetpack Compose phases: Composition, Layout, and Drawing, with state reads, skip behavior, and performance guidance.

Android Custom Lint Rules: From UAST Trees to Detector Implementation

A practical end-to-end guide to Android custom Lint rules, covering UAST, Detector implementation, packaging, integration, and debugging.

Android On-device LLM Streaming Output: From Tokens to Compose UI

A full-stack architecture for Android on-device LLM streaming output, covering KV Cache memory pressure, Kotlin Flow backpressure, and incremental Compose rendering.

Android DataBinding Two-Way Binding: From ObservableField to StateFlow

A deep dive into Android DataBinding two-way binding, generated binding code, invalidation loops, and the architectural move from ObservableField and LiveData to StateFlow and Compose.

Android BLE End to End: GATT, Scanning, and Long-Lived Connections

A practical guide to Android BLE development, covering the GATT protocol stack, scan power tradeoffs, reconnection, Doze handling, and multi-device long-connection management.

Android Feature Flags and Gradual Rollouts

A practical Android feature flag architecture covering remote config, local cache, hash buckets, staged rollout, kill switches, sticky enrollment, and Firebase tradeoffs.

Android Internationalization: Configuration, Resources, and App Locale

A practical guide to Android internationalization, covering Configuration, ContextWrapper isolation, Android 13 per-app locales, and Crowdin translation pipelines.

Advanced Kotlin Coroutines and Flow: Applications and Internals

Async programming is unavoidable in Android development. This guide explains advanced Kotlin Coroutines and Flow usage, from structured concurrency to reactive streams.

Android Modular Scroll Containers: From ViewTypes to Section Engines

A section-based Android page container architecture using ConcatAdapter, lazy loading, and module-level paging to decouple complex ecommerce screens.