<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SudarshanTechLabs Blog: Architecture</title>
    <link>https://sudarshantechlabs.com/blog/tag/architecture</link>
    <description>Posts tagged Architecture from SudarshanTechLabs.</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 14 Jul 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://sudarshantechlabs.com/blog/tag/architecture/feed.xml" rel="self" type="application/rss+xml" />
    <managingEditor>support@sudarshantechlabs.com (Sudarshan Chaudhari)</managingEditor>
    <webMaster>support@sudarshantechlabs.com (Sudarshan Chaudhari)</webMaster>
    <item>
      <title>Hilt Dependency Injection: Everything You Need to Know</title>
      <link>https://sudarshantechlabs.com/blog/hilt-everything-you-need-to-know</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/hilt-everything-you-need-to-know</guid>
      <description>A from-the-ground-up guide to Hilt on Android — what dependency injection actually buys you, the core annotations, how to provide and scope dependencies, and the small set of rules that keep DI from turning into a maze. · 4 min read</description>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <category>Hilt</category>
      <category>Dependency Injection</category>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How QA Thinking Makes Me a Better Developer</title>
      <link>https://sudarshantechlabs.com/blog/how-qa-thinking-makes-better-developer</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/how-qa-thinking-makes-better-developer</guid>
      <description>13 years in QA before switching to product development changed how I write code. Not the testing part — the failure-mode thinking that happens before a line is written. · 3 min read</description>
      <pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate>
      <category>QA</category>
      <category>Engineering</category>
      <category>Solo Dev</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin Coroutines: The Patterns I Use in Every App</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-coroutines-patterns-every-app</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-coroutines-patterns-every-app</guid>
      <description>After using Coroutines across 22+ Android apps, certain patterns appear in every codebase. Here are the ones that matter — with the mistakes they prevent. · 3 min read</description>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <category>Kotlin</category>
      <category>Coroutines</category>
      <category>Android</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Background Work: WorkManager vs Coroutines vs Services</title>
      <link>https://sudarshantechlabs.com/blog/android-background-work-workmanager-coroutines-services</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-background-work-workmanager-coroutines-services</guid>
      <description>Three tools for background work, three different jobs. Picking the wrong one means battery drain, broken behavior on OEM devices, or work that silently stops running. · 3 min read</description>
      <pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>WorkManager</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Clean Architecture in Android — When It Helps and When It Hurts</title>
      <link>https://sudarshantechlabs.com/blog/clean-architecture-android-when-it-helps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/clean-architecture-android-when-it-helps</guid>
      <description>Clean Architecture is the default recommendation for Android. It&apos;s also frequently over-applied. Here&apos;s an honest take on when it earns its complexity and when it doesn&apos;t. · 3 min read</description>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Architecture</category>
      <category>Kotlin</category>
      <category>Engineering</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin StateFlow vs LiveData: The Definitive 2026 Guide</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-stateflow-vs-livedata-2026</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-stateflow-vs-livedata-2026</guid>
      <description>LiveData is deprecated. StateFlow is the answer — but knowing why matters more than knowing which. Here&apos;s the practical breakdown after switching 22+ Android apps. · 3 min read</description>
      <pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <category>StateFlow</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>WorkManager + ForegroundService: The Only Compliant Path for Background Location on Android</title>
      <link>https://sudarshantechlabs.com/blog/android-workmanager-foregroundservice-background-location</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-workmanager-foregroundservice-background-location</guid>
      <description>Android&apos;s background process restrictions exist to protect battery life and user privacy. They also make background location collection significantly harder than it looks. Here is what actually works, why, and what the alternatives get wrong. · 6 min read</description>
      <pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Engineering</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>StateFlow vs LiveData: What Changed Across 22 Android Apps After Switching</title>
      <link>https://sudarshantechlabs.com/blog/stateflow-vs-livedata-22-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/stateflow-vs-livedata-22-apps</guid>
      <description>The switch from LiveData to StateFlow was not a trend decision. It was driven by a specific crash pattern. Here is what LiveData was getting wrong, what StateFlow changed, and what it costs. · 5 min read</description>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Firebase Realtime DB vs Firestore: Why Stream Semantics Won for Family Location Tracking</title>
      <link>https://sudarshantechlabs.com/blog/firebase-realtime-db-vs-firestore-location-tracking</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/firebase-realtime-db-vs-firestore-location-tracking</guid>
      <description>Choosing a Firebase database for real-time location sharing is not a preference decision — it&apos;s a constraint decision. Here is why Firebase Realtime DB won over Firestore for MyFamilyTracker, and what the tradeoff actually costs. · 4 min read</description>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Firebase</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Managing 22+ Android Apps Solo: What Fleet-Scale Forced Me to Build</title>
      <link>https://sudarshantechlabs.com/blog/managing-22-android-apps-solo</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/managing-22-android-apps-solo</guid>
      <description>Running 22+ live Android apps as a solo developer is not a scaling problem — it&apos;s an architecture problem. Every tool I built and every pattern I adopted was a direct response to a specific failure that became unacceptable at fleet scale. · 6 min read</description>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Engineering</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Developer Interview Questions: The Hard Ones and How to Answer Them</title>
      <link>https://sudarshantechlabs.com/blog/android-interview-questions</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-interview-questions</guid>
      <description>Senior Android interview questions test deep understanding, not syntax recall. Here are 15 hard questions covering architecture, concurrency, performance, and testing — with the answers that demonstrate senior-level thinking. · 5 min read</description>
      <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Career</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Hilt Dependency Injection in Android: Scopes, Modules, and Testing</title>
      <link>https://sudarshantechlabs.com/blog/hilt-dependency-injection-android</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/hilt-dependency-injection-android</guid>
      <description>A practical guide to Hilt DI in Android — how scopes work, how to structure modules, common mistakes, and how to write tests against Hilt-injected code without fighting the framework. · 6 min read</description>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Hilt</category>
      <category>Architecture</category>
      <category>Testing</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Mastering Room Database in Production: 7 Battle-Tested Practices for Android Apps</title>
      <link>https://sudarshantechlabs.com/blog/room-database-best-practices-for-production-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/room-database-best-practices-for-production-apps</guid>
      <description>This post shares 7 critical Room Database practices I&apos;ve refined over 13 years of QA and building 22+ apps at SudarshanTechLabs. Focused on avoiding crashes, data loss, and performance pitfalls in production. · 3 min read</description>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <category>Data</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Mastering Clean Architecture in Android: Use Cases, Repositories, and Data Sources</title>
      <link>https://sudarshantechlabs.com/blog/clean-architecture-in-android-use-cases-repositories-and-data-sources</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/clean-architecture-in-android-use-cases-repositories-and-data-sources</guid>
      <description>A deep dive into decoupling business logic from frameworks using the Use Case, Repository, and Data Source pattern to build scalable Android apps. · 7 min read</description>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <category>Best Practices</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Building 20+ Android Apps Solo — What I Learned About Architecture</title>
      <link>https://sudarshantechlabs.com/blog/android-architecture-lessons</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-architecture-lessons</guid>
      <description>After shipping 20+ Android apps as a solo developer, I settled on MVVM with Clean Architecture, Hilt, and StateFlow. Here&apos;s why, and what I&apos;d tell myself if I were starting over. · 3 min read</description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Architecture</category>
      <category>Kotlin</category>
      <category>Hilt</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Advanced Room Database Patterns: Relations, FTS, and Type Converters</title>
      <link>https://sudarshantechlabs.com/blog/room-advanced-patterns</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/room-advanced-patterns</guid>
      <description>Basic Room is straightforward. Relations between entities, full-text search, complex queries, and custom type converters are where most developers hit walls. Here&apos;s how to handle the advanced cases correctly. · 4 min read</description>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Data</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Compose Navigation: Patterns, Arguments, and Back Stack Management</title>
      <link>https://sudarshantechlabs.com/blog/android-compose-navigation</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-compose-navigation</guid>
      <description>Jetpack Compose Navigation replaces the Fragment back stack with a declarative nav graph. Here&apos;s how to set it up correctly, pass arguments between screens, handle deep links, and manage the back stack without common pitfalls. · 4 min read</description>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin Coroutines vs RxJava in 2026: Choosing the Right Tool for Modern Android Development</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-coroutines-vs-rxjava-in-2026-choosing-the-right-tool-for-modern-android-development</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-coroutines-vs-rxjava-in-2026-choosing-the-right-tool-for-modern-android-development</guid>
      <description>Learn when to use Kotlin Coroutines or RxJava in 2026 for Android apps, with code examples, performance benchmarks, and real-world use cases from a solo dev&apos;s perspective. · 3 min read</description>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Coroutines</category>
      <category>Jetpack Compose</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Designing Offline‑First Android Apps That Thrive on Flaky Networks</title>
      <link>https://sudarshantechlabs.com/blog/designing-offlinefirst-android-apps-that-thrive-on-flaky-networks</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/designing-offlinefirst-android-apps-that-thrive-on-flaky-networks</guid>
      <description>A step‑by‑step guide to building Android apps that stay functional when connectivity drops, using Jetpack Compose, Room, Kotlin Coroutines, and a clean offline‑first architecture. · 7 min read</description>
      <pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Architecture Decisions That Actually Matter</title>
      <link>https://sudarshantechlabs.com/blog/android-architecture-decisions</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-architecture-decisions</guid>
      <description>Not every architectural choice is equally important. After 22 apps, here are the decisions that compound positively — and the debates that waste your time. · 5 min read</description>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Architecture</category>
      <category>Kotlin</category>
      <category>Solo Dev</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How I Built 22 Android Apps Solo — Systems, Not Hustle</title>
      <link>https://sudarshantechlabs.com/blog/how-i-built-22-android-apps-solo</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/how-i-built-22-android-apps-solo</guid>
      <description>From zero to 22 live Play Store apps as a solo developer. The architecture decisions, tooling, and mental models that made it possible without burning out. · 4 min read</description>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Solo Dev</category>
      <category>Kotlin</category>
      <category>Play Store</category>
      <category>Architecture</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin Sealed Classes and Interfaces: Beyond the Basics</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-sealed-classes-patterns</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-sealed-classes-patterns</guid>
      <description>Sealed classes are more than a fancy enum. Here are the patterns that make them indispensable for Android development: representing results, modeling state machines, handling events, and using sealed interfaces for better composition. · 5 min read</description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>Kotlin</category>
      <category>Android</category>
      <category>Architecture</category>
      <category>Patterns</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Building Offline-First Android Apps: Architecture and Sync Strategies</title>
      <link>https://sudarshantechlabs.com/blog/android-offline-first</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-offline-first</guid>
      <description>Offline-first means the app works without a network connection and syncs when one is available. It&apos;s the right architecture for most mobile apps but requires deliberate design. Here&apos;s how to build it with Room, WorkManager, and conflict resolution. · 4 min read</description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Architecture</category>
      <category>Data</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Clean Architecture in Android: Why It Matters and How to Apply It</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-clean-architecture</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-clean-architecture</guid>
      <description>Clean Architecture is widely referenced and frequently misunderstood. Here&apos;s what it actually means for an Android app, what each layer is responsible for, and the concrete patterns that make it worth the structure. · 4 min read</description>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Architecture</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Testing With Hilt: Dependency Injection in Android Tests</title>
      <link>https://sudarshantechlabs.com/blog/hilt-dependency-injection-testing</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/hilt-dependency-injection-testing</guid>
      <description>Hilt makes dependency injection elegant in production code. In tests, it provides HiltAndroidRule and test modules that let you swap out real implementations for fakes. Here&apos;s how to use them correctly. · 3 min read</description>
      <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Architecture</category>
      <category>Testing</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
  </channel>
</rss>