© 2026 Hashnode
Recap: The Journey So Far In Part 3, "Navigation & Feature Isolation" we meticulously re-architected our navigation. We moved from a monolithic structure to one where each feature (like :feature-home and :feature-detail) defines its own NavGraph. The...

🚀 Introduction In Part 1, we stabilized the domain and extracted our first feature module (feature-bookmarks).In Part 2, we establish core data and DI boundaries, ensuring features depend only on stable contracts. But there’s a trap: even if your fe...

In Part 1, we discussed the benefits of modularization, created a blueprint and high-level plan, centralized Gradle configurations, and built our first feature module :feature-bookmarks. That gave us a stable foundation. Now it’s time to handle somet...

This article was originally published on Medium. You can read it here. In the "Untangling Android Navigation" series (Starter GitHub code), we built a healthy, single-module app using Jetpack Compose, Hilt, Paging, nested navigation, and deep links. ...

In the ever-evolving world of Android development, developers often focus on the latest trends like Jetpack Compose, Kotlin Coroutines, and dependency injection with Hilt. However, there’s one critical yet under-discussed topic in Android development...

I’ve been through the grind of slow builds, watching as valuable time slips away while my codebase crawls through a sluggish CI/CD pipeline. But the good news? We can fix this together. Let’s walk through some practical strategies that I’ve personall...
