Streamlines Android project design by implementing MVI, MVVM, or Simple Compose patterns tailored to project complexity.
Android build system and deployment patterns
Jetpack Compose mechanics: what belongs in an effect rather than the composable body, how state is hoisted and remembered, and what makes…
Android architecture and platform decisions: where state lives, what survives process death, what work leaves the main thread, and what…
Persistence and offline behaviour: where a value lives, what survives, transactions, migrations, and what happens when the network does…
The object graph: what lives how long, what may depend on what, and when a wiring mistake is discovered.
Bring up an Android app in a headless emulator on Linux/WSL and drive it for automated integration testing, the Android analog of…
Images that arrive at runtime, fetched or picked or decoded: caching, sizing, cancellation, and what a picker actually hands back.
Java on Android without the language features Kotlin has: threading, equality, resource handling, and interoperating with Kotlin.
Use when building Android UIs with Jetpack Compose, managing state with remember/mutableStateOf, or implementing declarative UI patterns.
Expert guidance for building modern Android UIs with Jetpack Compose, covering state management, navigation, performance, and Material…
The shape of the layer graph: which layers exist, which way dependencies point, and what each one may touch.
Talking to a server: client configuration, what comes back, what happens when it does not, and how a request is authorised.
Runtime permissions: whether to ask at all, how to ask, and what the app does with every answer including the silent ones.
Implement Room schemas and DataStore preferences with proper async patterns in Android.
Guides the end-to-end workflow for decompiling, analyzing, modifying, and reconstructing Android APK packages.
Keeping a secret on a device you do not control: key storage, backup, intents, and client-side checks that are signals rather than controls.
What makes a test able to fail for the right reason: the shape of the seam, the scheduler it runs on, and what an assertion is allowed to…
Use to answer questions logging can't — "did this run, on what thread, for how long, in what overlap with frame boundaries?" Wrap suspect…
XML-specified Android UI journey testing, interactive step execution, assertion verification, and JSON outcome reporting.
The View system: layouts, adapters, RecyclerView, ViewBinding, and the seam where a ComposeView sits inside a View hierarchy.