<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SudarshanTechLabs Blog: Android</title>
    <link>https://sudarshantechlabs.com/blog/tag/android</link>
    <description>Posts tagged Android from SudarshanTechLabs.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 03 Aug 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://sudarshantechlabs.com/blog/tag/android/feed.xml" rel="self" type="application/rss+xml" />
    <managingEditor>support@sudarshantechlabs.com (Sudarshan Chaudhari)</managingEditor>
    <webMaster>support@sudarshantechlabs.com (Sudarshan Chaudhari)</webMaster>
    <item>
      <title>Paging 3 in Android: Efficient List Loading at Scale</title>
      <link>https://sudarshantechlabs.com/blog/paging-3-efficient-list-loading-at-scale</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/paging-3-efficient-list-loading-at-scale</guid>
      <description>Loading a thousand-item list all at once is how apps run out of memory and feel sluggish. Paging 3 loads data in chunks as the user scrolls. Here&apos;s how it fits together with Compose, Room, and a network source. · 4 min read</description>
      <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
      <category>Paging 3</category>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Performance</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android App Theming With Material You and Dynamic Color</title>
      <link>https://sudarshantechlabs.com/blog/android-theming-material-you-dynamic-color</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-theming-material-you-dynamic-color</guid>
      <description>Material You lets your app adopt colors from the user&apos;s wallpaper while still keeping a brand identity. Here&apos;s how dynamic color works in Compose, how to support it without losing your brand, and the dark-theme details that matter. · 4 min read</description>
      <pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate>
      <category>Material You</category>
      <category>Theming</category>
      <category>Jetpack Compose</category>
      <category>Android</category>
      <category>Dynamic Color</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Building an Android Widget With Jetpack Glance</title>
      <link>https://sudarshantechlabs.com/blog/building-an-android-widget-with-jetpack-glance</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/building-an-android-widget-with-jetpack-glance</guid>
      <description>Jetpack Glance lets you build home-screen widgets with a Compose-like API instead of clunky RemoteViews. Here&apos;s how it works, the constraints that make widgets different from app UI, and how to keep them updated efficiently. · 4 min read</description>
      <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
      <category>Jetpack Glance</category>
      <category>Widgets</category>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Accessibility: Making Apps Work for Everyone</title>
      <link>https://sudarshantechlabs.com/blog/android-accessibility-making-apps-work-for-everyone</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-accessibility-making-apps-work-for-everyone</guid>
      <description>Accessibility isn&apos;t a feature you bolt on at the end — it&apos;s a set of small habits during development. Here&apos;s how I make Compose apps work with TalkBack, large fonts, and switch access without much extra effort. · 4 min read</description>
      <pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate>
      <category>Accessibility</category>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>TalkBack</category>
      <category>Inclusive Design</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Ktor Client in Android: REST API Calls the Modern Way</title>
      <link>https://sudarshantechlabs.com/blog/ktor-client-in-android-modern-rest</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/ktor-client-in-android-modern-rest</guid>
      <description>Ktor is a clean, coroutine-native HTTP client that shines especially in Kotlin Multiplatform projects. Here&apos;s how I set it up for Android — serialization, auth, retries, and error handling — and when I&apos;d still pick Retrofit. · 4 min read</description>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Ktor</category>
      <category>Networking</category>
      <category>Android</category>
      <category>Kotlin</category>
      <category>REST</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Jetpack Compose Custom Layouts and Modifiers Deep Dive</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-custom-layouts-and-modifiers</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-custom-layouts-and-modifiers</guid>
      <description>When Row, Column, and Box can&apos;t express your design, Compose&apos;s Layout composable and custom modifiers let you measure and place children yourself. Here&apos;s how the measure-and-place model works and when to reach for it. · 4 min read</description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate>
      <category>Jetpack Compose</category>
      <category>Custom Layout</category>
      <category>Android</category>
      <category>UI</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Firebase App Distribution: Beta Testing Without the Play Store</title>
      <link>https://sudarshantechlabs.com/blog/firebase-app-distribution-beta-testing</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/firebase-app-distribution-beta-testing</guid>
      <description>Getting a build into testers&apos; hands shouldn&apos;t require the Play Store review queue. Here&apos;s how I use Firebase App Distribution for fast beta cycles, how it compares to Play&apos;s internal testing, and when to use each. · 4 min read</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <category>Firebase</category>
      <category>Beta Testing</category>
      <category>Android</category>
      <category>CI/CD</category>
      <category>App Distribution</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin Multiplatform Mobile: Sharing Code Between Android and iOS</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-multiplatform-mobile-sharing-code</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-multiplatform-mobile-sharing-code</guid>
      <description>KMP lets you share business logic between Android and iOS while keeping native UI on each. Here&apos;s what&apos;s actually worth sharing, what to leave native, and the realistic trade-offs from shipping it. · 4 min read</description>
      <pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
      <category>Kotlin Multiplatform</category>
      <category>KMP</category>
      <category>Android</category>
      <category>iOS</category>
      <category>Cross-Platform</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Detecting Root and Tamper in Android Apps</title>
      <link>https://sudarshantechlabs.com/blog/detecting-root-and-tamper-in-android-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/detecting-root-and-tamper-in-android-apps</guid>
      <description>Root and tamper detection raises the cost of attacking your app, but it&apos;s a deterrent, not a wall. Here&apos;s a realistic look at what to check, how to respond proportionally, and why Play Integrity beats DIY checks. · 4 min read</description>
      <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>Root Detection</category>
      <category>Android</category>
      <category>Play Integrity</category>
      <category>Tamper</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Handling API Keys Safely in Android Apps</title>
      <link>https://sudarshantechlabs.com/blog/handling-api-keys-safely-in-android-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/handling-api-keys-safely-in-android-apps</guid>
      <description>Any API key you ship in an APK can be extracted — full stop. Here&apos;s how I actually handle keys in Android: which ones can live in the app, which must go behind a backend, and how to keep them out of git either way. · 4 min read</description>
      <pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>API Keys</category>
      <category>Android</category>
      <category>Secrets</category>
      <category>Backend</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>ProGuard and R8 for Security: Obfuscating Sensitive Code</title>
      <link>https://sudarshantechlabs.com/blog/proguard-r8-for-security-obfuscating-sensitive-code</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/proguard-r8-for-security-obfuscating-sensitive-code</guid>
      <description>R8&apos;s obfuscation won&apos;t stop a determined reverse engineer, but it removes the easy wins and raises the cost of attacking your app. Here&apos;s what it actually protects, its limits, and how to configure it without breaking your build. · 4 min read</description>
      <pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>R8</category>
      <category>ProGuard</category>
      <category>Android</category>
      <category>Obfuscation</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Certificate Pinning in Android: When and How</title>
      <link>https://sudarshantechlabs.com/blog/certificate-pinning-in-android-when-and-how</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/certificate-pinning-in-android-when-and-how</guid>
      <description>Certificate pinning hardens your app against man-in-the-middle attacks, but done wrong it can brick your app on a cert rotation. Here&apos;s when it&apos;s worth it, how to implement it safely, and the backup-pin discipline that prevents outages. · 4 min read</description>
      <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>Certificate Pinning</category>
      <category>Android</category>
      <category>Networking</category>
      <category>TLS</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Securing Android SharedPreferences and DataStore</title>
      <link>https://sudarshantechlabs.com/blog/securing-android-sharedpreferences-and-datastore</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/securing-android-sharedpreferences-and-datastore</guid>
      <description>SharedPreferences and DataStore are where small but sensitive values quietly accumulate. Here&apos;s how I keep that local storage secure — what to encrypt, what to keep in the Keystore, and what not to store at all. · 4 min read</description>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>DataStore</category>
      <category>Android</category>
      <category>Encryption</category>
      <category>Storage</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android App Security: Preventing Common Vulnerabilities</title>
      <link>https://sudarshantechlabs.com/blog/android-app-security-preventing-common-vulnerabilities</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-app-security-preventing-common-vulnerabilities</guid>
      <description>The Android vulnerabilities I see most often in real apps aren&apos;t exotic — they&apos;re exported components, insecure storage, and sloppy intents. Here&apos;s how to prevent the common ones before they ship. · 4 min read</description>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>Android</category>
      <category>Vulnerabilities</category>
      <category>Best Practices</category>
      <category>Mobile Security</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Google Maps in Jetpack Compose: The Complete Guide</title>
      <link>https://sudarshantechlabs.com/blog/google-maps-in-jetpack-compose-complete-guide</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/google-maps-in-jetpack-compose-complete-guide</guid>
      <description>Adding Google Maps to a Compose app is straightforward once you know the Maps Compose library — markers, camera control, custom styling, and the performance and lifecycle gotchas that bite people first. · 4 min read</description>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <category>Jetpack Compose</category>
      <category>Google Maps</category>
      <category>Android</category>
      <category>Maps</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How I Use Firebase in Production Without the Bloat</title>
      <link>https://sudarshantechlabs.com/blog/how-i-use-firebase-in-production-without-the-bloat</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/how-i-use-firebase-in-production-without-the-bloat</guid>
      <description>Firebase can run your whole backend or quietly balloon your app and your bill. Here&apos;s the lean subset I actually use across production Android apps, and the services I deliberately leave out. · 4 min read</description>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <category>Firebase</category>
      <category>Android</category>
      <category>Backend</category>
      <category>Analytics</category>
      <category>Solo Developer</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Why I Build Focused Apps Instead of Super Apps</title>
      <link>https://sudarshantechlabs.com/blog/why-i-build-focused-apps-not-super-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/why-i-build-focused-apps-not-super-apps</guid>
      <description>The pull toward cramming every feature into one app is strong, especially solo. Here&apos;s why I deliberately build small, focused apps instead — what it costs, what it buys, and how it shapes a sustainable portfolio. · 4 min read</description>
      <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
      <category>Solo Developer</category>
      <category>Product</category>
      <category>Indie</category>
      <category>Android</category>
      <category>Strategy</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Writing Tests for Jetpack Compose: A Practical Guide</title>
      <link>https://sudarshantechlabs.com/blog/writing-tests-for-jetpack-compose</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/writing-tests-for-jetpack-compose</guid>
      <description>How I test Compose UIs without the suite turning brittle — what to assert, how the testing APIs work, the synchronization model that makes flakiness rare, and where UI tests stop earning their keep. · 4 min read</description>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
      <category>Jetpack Compose</category>
      <category>Testing</category>
      <category>Android</category>
      <category>UI Testing</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <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>From Idea to Play Store in Two Weeks: My Process</title>
      <link>https://sudarshantechlabs.com/blog/idea-to-play-store-two-weeks-process</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/idea-to-play-store-two-weeks-process</guid>
      <description>The repeatable process I use to take a small Android app from idea to a live Play Store listing in about two weeks, solo — what I build, what I deliberately skip, and where the time actually goes. · 4 min read</description>
      <pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
      <category>Solo Developer</category>
      <category>Play Store</category>
      <category>Android</category>
      <category>Process</category>
      <category>Shipping</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Play Store ASO: What Actually Moves the Needle</title>
      <link>https://sudarshantechlabs.com/blog/play-store-aso-what-moves-the-needle</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/play-store-aso-what-moves-the-needle</guid>
      <description>After publishing 20+ Android apps, most ASO advice is noise. These are the few levers that genuinely changed installs for me — title and first screenshots — and the ones that didn&apos;t. · 4 min read</description>
      <pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate>
      <category>ASO</category>
      <category>Play Store</category>
      <category>App Marketing</category>
      <category>Android</category>
      <category>Growth</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Debugging Memory Leaks in Android With LeakCanary</title>
      <link>https://sudarshantechlabs.com/blog/debugging-memory-leaks-android-leakcanary</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/debugging-memory-leaks-android-leakcanary</guid>
      <description>Memory leaks rarely crash on the first screen — they crash users three navigations deep. Here&apos;s the LeakCanary workflow I use to catch the common Android leak sources before they hit production. · 5 min read</description>
      <pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Memory Leaks</category>
      <category>LeakCanary</category>
      <category>Debugging</category>
      <category>Performance</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>OWASP Mobile Top 10: What Every Android Dev Should Know</title>
      <link>https://sudarshantechlabs.com/blog/owasp-mobile-top-10-android-developers</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/owasp-mobile-top-10-android-developers</guid>
      <description>A practical walk through the OWASP Mobile Top 10 from an Android developer&apos;s chair — the risks that actually show up in real apps, with concrete Kotlin examples of what to do instead of the insecure default. · 4 min read</description>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <category>OWASP</category>
      <category>Android</category>
      <category>Mobile Security</category>
      <category>Best Practices</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>My Kotlin Gradle Build Setup With Version Catalogs</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-gradle-build-setup-version-catalogs</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-gradle-build-setup-version-catalogs</guid>
      <description>Keeping Gradle sane across 20+ Android apps means one source of truth for versions. Here&apos;s how I use version catalogs, convention plugins, and a shared version file to stop dependency drift before it starts. · 4 min read</description>
      <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
      <category>Gradle</category>
      <category>Kotlin</category>
      <category>Version Catalog</category>
      <category>Android</category>
      <category>Build</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>A Git Workflow That Actually Fits a Solo Android Developer</title>
      <link>https://sudarshantechlabs.com/blog/git-workflow-solo-android-developers</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/git-workflow-solo-android-developers</guid>
      <description>Team git advice is built for code review and many contributors. As a solo dev maintaining 20+ apps, I use a leaner workflow — feature branches, conventional commits, and protected main — without the overhead that doesn&apos;t apply to one person. · 4 min read</description>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
      <category>Git</category>
      <category>Workflow</category>
      <category>Solo Developer</category>
      <category>Android</category>
      <category>CI</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Jetpack Compose State Management: From Simple to Complex</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-state-management-simple-to-complex</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-state-management-simple-to-complex</guid>
      <description>How I think about state in Compose as screens grow — from a single remembered value to hoisted state, ViewModel-backed StateFlow, and the rules that keep recomposition cheap and bugs rare. · 5 min read</description>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <category>Jetpack Compose</category>
      <category>State Management</category>
      <category>Android</category>
      <category>StateFlow</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Automating Google Play Store Listings with Claude Code</title>
      <link>https://sudarshantechlabs.com/blog/automating-play-store-listings-claude-code</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/automating-play-store-listings-claude-code</guid>
      <description>Maintaining store listings across 22+ apps manually is unsustainable. Here&apos;s how PlayCraft — a Claude Code plugin — handles store copy, release notes, Data Safety, and content ratings as a structured workflow. · 4 min read</description>
      <pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Play Store</category>
      <category>Claude Code</category>
      <category>Automation</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Setting Up CI/CD for Android with GitHub Actions</title>
      <link>https://sudarshantechlabs.com/blog/cicd-android-github-actions</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/cicd-android-github-actions</guid>
      <description>A practical GitHub Actions setup for Android — build, test, lint, and Play Store publish on a solo dev workflow. No fluff, no enterprise-scale overhead. · 3 min read</description>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>CI/CD</category>
      <category>GitHub Actions</category>
      <category>Automation</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Testing Strategy for Solo Developers</title>
      <link>https://sudarshantechlabs.com/blog/android-testing-strategy-solo-developers</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-testing-strategy-solo-developers</guid>
      <description>Full test coverage is a fantasy for solo developers. A targeted strategy that covers what matters — ViewModel logic, repository contracts, and critical UI flows — without drowning in test maintenance. · 3 min read</description>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Testing</category>
      <category>QA</category>
      <category>Solo Dev</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Jetpack Compose Navigation — My Setup After 10 Apps</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-navigation-my-setup</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-navigation-my-setup</guid>
      <description>Navigation in Compose has rough edges. After setting it up in 10+ apps, here is the pattern that avoids the common pain points — type-safe routes, bottom nav integration, and ViewModel scoping. · 3 min read</description>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Navigation</category>
      <category>Kotlin</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>How to Cut Your APK/AAB Size by 40% Using R8 and ProGuard</title>
      <link>https://sudarshantechlabs.com/blog/cut-apk-size-r8-proguard</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/cut-apk-size-r8-proguard</guid>
      <description>App size affects install conversion rates, storage permissions, and Play Store ranking. Here&apos;s a systematic approach to shrinking your Android app using R8, resource shrinking, and build configuration. · 3 min read</description>
      <pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Performance</category>
      <category>Gradle</category>
      <category>R8</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>AI Pair Programming: What It Gets Right and Where</title>
      <link>https://sudarshantechlabs.com/blog/ai-pair-programming-what-it-gets-right-and-where-it-fails</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/ai-pair-programming-what-it-gets-right-and-where-it-fails</guid>
      <description>An honest look at how AI pair programming tools perform in real Android development workflows, including code generation, context understanding, and integration challenges. · 6 min read</description>
      <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>AI</category>
      <category>Tools</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Giving Claude Context About Your Android Codebase: A Practical Guide</title>
      <link>https://sudarshantechlabs.com/blog/how-to-give-claude-context-about-your-codebase</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/how-to-give-claude-context-about-your-codebase</guid>
      <description>Learn how to feed Claude the right context so it writes accurate Kotlin snippets, refactors UI components, and automates tests for your Android app. · 5 min read</description>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>AI</category>
      <category>Claude Code</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Writing Claude Skills That Actually Work (With Examples)</title>
      <link>https://sudarshantechlabs.com/blog/writing-claude-skills-that-actually-work-with-examples</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/writing-claude-skills-that-actually-work-with-examples</guid>
      <description>This post reveals how to build reliable Claude Skills for Android apps, avoiding common pitfalls with real code examples and actionable fixes. · 4 min read</description>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>AI</category>
      <category>Claude Code</category>
      <category>Automation</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Claude Code vs Cursor vs Copilot: My 6-Month Android Workflow Test</title>
      <link>https://sudarshantechlabs.com/blog/claude-code-vs-cursor-vs-copilot-an-android-devs-take</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/claude-code-vs-cursor-vs-copilot-an-android-devs-take</guid>
      <description>As a solo Android developer who shipped 22 apps, I tested Claude Code, Cursor, and GitHub Copilot on real projects for 6 months. Here&apos;s what actually works. · 5 min read</description>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>AI</category>
      <category>Tools</category>
      <category>Solo Dev</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Managing AndroidKeystore: Keep Your Apps Secure and Unlost</title>
      <link>https://sudarshantechlabs.com/blog/android-keystore-management-dont-lose-your-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-keystore-management-dont-lose-your-apps</guid>
      <description>Learn how to securely manage the Android Keystore in your Kotlin app to prevent key loss and ensure smooth app updates from your Bangkok solo dev studio. · 5 min read</description>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Security</category>
      <category>Solo Dev</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Maintaining 22 Apps Taught Me That Boring Is the Whole Point</title>
      <link>https://sudarshantechlabs.com/blog/the-boring-work-of-maintaining-20-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/the-boring-work-of-maintaining-20-apps</guid>
      <description>After 13 years running 22+ Android apps solo from Bangkok, I break down the unglamorous maintenance systems—Gradle conventions, CI pipelines, versioning discipline—that keep everything alive. · 6 min read</description>
      <pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>CI/CD</category>
      <category>Solo Dev</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>13 Years, 22 Android Apps: What I&apos;ve Learned About Building Software Solo</title>
      <link>https://sudarshantechlabs.com/blog/lessons-from-22-android-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/lessons-from-22-android-apps</guid>
      <description>After 13 years in QA and building 22 live Android apps as a solo developer, here&apos;s what actually matters — the technical decisions, the mindset shifts, and the things I wish I&apos;d known earlier. · 5 min read</description>
      <pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate>
      <category>Solo Dev</category>
      <category>Android</category>
      <category>Career</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Compose Animations That Improve UX (Not Just Look Cool)</title>
      <link>https://sudarshantechlabs.com/blog/android-compose-animations</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-compose-animations</guid>
      <description>Most animation tutorials focus on what&apos;s possible. This one focuses on what&apos;s useful: the animations that make an app feel polished and responsive without becoming distracting or slowing users down. · 4 min read</description>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>UX</category>
      <category>Kotlin</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>Shipping Faster Without Sacrificing Quality: The Solo Developer&apos;s Framework</title>
      <link>https://sudarshantechlabs.com/blog/shipping-faster-quality</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/shipping-faster-quality</guid>
      <description>Speed and quality feel like a trade-off but they&apos;re not — in the right setup, quality practices make you faster by preventing rework. Here&apos;s the framework I use to ship frequently while keeping apps stable. · 4 min read</description>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <category>Solo Dev</category>
      <category>Career</category>
      <category>Testing</category>
      <category>Engineering</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Version Update Strategy: How to Support New APIs Without Breaking Old Devices</title>
      <link>https://sudarshantechlabs.com/blog/android-version-updates-strategy</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-version-updates-strategy</guid>
      <description>Every Android release brings new APIs that improve your app. Supporting them while maintaining compatibility with older Android versions requires a clear strategy. Here&apos;s how to handle API level differences, use version checks correctly, and decide when to raise minSdk. · 4 min read</description>
      <pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Engineering</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Designing for Android Compose: Material 3 Patterns That Feel Native</title>
      <link>https://sudarshantechlabs.com/blog/designing-for-android-compose</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/designing-for-android-compose</guid>
      <description>Apps that feel native to Android get better ratings and more long-term users. Here&apos;s how to implement Material 3 correctly in Compose — theming, components, motion, and the design decisions that separate apps that feel polished from ones that feel amateur. · 4 min read</description>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>UX</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Auto Backup and Data Restore: What Developers Must Know</title>
      <link>https://sudarshantechlabs.com/blog/android-data-backup</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-data-backup</guid>
      <description>Android Auto Backup silently backs up your app&apos;s data. When users restore to a new device, they expect their data. Here&apos;s how to configure backup correctly, what gets included, what should be excluded, and how to handle restore gracefully. · 4 min read</description>
      <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Data</category>
      <category>Kotlin</category>
      <category>UX</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Analytics for Android Apps: What to Track and How to Use the Data</title>
      <link>https://sudarshantechlabs.com/blog/android-analytics-firebase</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-analytics-firebase</guid>
      <description>Most developers track too many events and learn nothing from them. Here&apos;s how to define a lean analytics strategy, implement it with Firebase Analytics, and actually make decisions based on the data. · 4 min read</description>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Firebase</category>
      <category>Startup</category>
      <category>Solo Dev</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>ProGuard and R8: How to Configure Code Shrinking Without Breaking Your App</title>
      <link>https://sudarshantechlabs.com/blog/android-proguard-r8-guide</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-proguard-r8-guide</guid>
      <description>R8 is enabled in every release build but most developers just hope it works. When it breaks something, debugging is painful. Here&apos;s how to configure ProGuard rules correctly, debug obfuscation issues, and keep your app running after shrinking. · 4 min read</description>
      <pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Tools</category>
      <category>Release</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Localizing Your Android App: A Practical Guide to Reaching More Users</title>
      <link>https://sudarshantechlabs.com/blog/android-localization</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-localization</guid>
      <description>Localization is one of the highest-ROI features for solo developers. Adding support for 5-10 languages can double your potential market. Here&apos;s how to implement localization correctly in an Android app with Compose. · 4 min read</description>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Play Store</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android App Monetization Strategy: Choosing the Right Model for Your App</title>
      <link>https://sudarshantechlabs.com/blog/android-app-monetization-strategy</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-app-monetization-strategy</guid>
      <description>Choosing the wrong monetization model kills good apps. Ads on a productivity tool. Subscriptions for a one-time utility. Free with no paywall. Here&apos;s how to match the model to the app and implement it without alienating users. · 4 min read</description>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Monetization</category>
      <category>Solo Dev</category>
      <category>Play Store</category>
      <category>Startup</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin Extension Functions: Patterns That Actually Improve Your Code</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-extension-functions</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-extension-functions</guid>
      <description>Extension functions are Kotlin&apos;s most addictive feature. Used well, they make APIs more expressive and reduce boilerplate. Used poorly, they scatter code and hide dependencies. Here are the patterns worth adopting and the anti-patterns worth avoiding. · 4 min read</description>
      <pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate>
      <category>Kotlin</category>
      <category>Android</category>
      <category>Engineering</category>
      <category>Patterns</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Writing Testable Android Code: ViewModels, Fakes, and Coroutine Test Rules</title>
      <link>https://sudarshantechlabs.com/blog/writing-testable-android-code-viewmodels-fakes-and-coroutine-test-rules</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/writing-testable-android-code-viewmodels-fakes-and-coroutine-test-rules</guid>
      <description>This post covers practical strategies for writing testable Android code using ViewModels, fakes, and coroutine test rules to improve maintainability and reduce flaky tests. · 4 min read</description>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Testing</category>
      <category>Coroutines</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Shrinking, Obfuscation, and Debugging Release Builds with ProGuard and R8 in Android</title>
      <link>https://sudarshantechlabs.com/blog/proguard-and-r8-in-android-shrinking-obfuscation-and-debugging-release-builds</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/proguard-and-r8-in-android-shrinking-obfuscation-and-debugging-release-builds</guid>
      <description>In this article, we will discuss how to use ProGuard and R8 to shrink and obfuscate your Android app, and how to debug release builds. · 3 min read</description>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Kotlin Coroutines vs Java Threads: When to Use Each for Android Performance</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-coroutines-vs-java-threads-a-practical-comparison</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-coroutines-vs-java-threads-a-practical-comparison</guid>
      <description>This post compares Kotlin Coroutines and Java Threads for Android concurrency, focusing on performance, simplicity, and real-world use cases to help you choose the right tool. · 4 min read</description>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Coroutines</category>
      <category>Performance</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Mastering Kotlin Coroutines: Structured Concurrency for Robust Android Apps</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-coroutines-structured-concurrency-scopes-jobs-and-cancellation</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-coroutines-structured-concurrency-scopes-jobs-and-cancellation</guid>
      <description>Deep dive into Kotlin structured concurrency, exploring scopes, jobs, and cancellation techniques to build efficient, crash-free Android applications. · 4 min read</description>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Coroutines</category>
      <category>Performance</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Optimizing State Management in Jetpack Compose: StateFlow vs remember vs derivedStateOf</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-state-management-stateflow-vs-remember-vs-derivedstateof</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-state-management-stateflow-vs-remember-vs-derivedstateof</guid>
      <description>This article compares StateFlow, remember, and derivedStateOf for state management in Jetpack Compose, highlighting their strengths and weaknesses, and providing code examples to demonstrate their usage. · 4 min read</description>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Jetpack Compose State Management: Patterns That Scale from Day One</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-state-management-deep-dive</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-state-management-deep-dive</guid>
      <description>A practical guide to state management in Jetpack Compose with real code examples, showing how to choose the right pattern for your app&apos;s complexity and avoid common pitfalls that lead to bugs and maintenance headaches. · 5 min read</description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Jetpack Compose</category>
      <category>Best Practices</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Jetpack Compose Performance Optimization: Mastering Recomposition, Stability, and Skippable Composables</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-performance-optimization-recomposition-stability-and-skippable-composables</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-performance-optimization-recomposition-stability-and-skippable-composables</guid>
      <description>Learn how to shrink recomposition footprints, make your composables stable, and leverage skippable APIs to keep frame times under 16 ms on real devices. · 8 min read</description>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Performance</category>
      <category>Best Practices</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>My Android Release Checklist: Zero Bad Releases in 2 Years</title>
      <link>https://sudarshantechlabs.com/blog/my-android-release-checklist-zero-bad-releases-in-2-years</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/my-android-release-checklist-zero-bad-releases-in-2-years</guid>
      <description>A detailed, battle-tested checklist for solo Android developers to ensure stable, secure, and high-performance releases. Covers automated testing, CI/CD, performance monitoring, and final sanity checks. · 5 min read</description>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Testing</category>
      <category>CI/CD</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>Claude Code Hooks: Build Your Own Quality Gates Without the CI/CD Overhead</title>
      <link>https://sudarshantechlabs.com/blog/claude-code-hooks-build-your-own-quality-gates</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/claude-code-hooks-build-your-own-quality-gates</guid>
      <description>Learn how to use Claude Code&apos;s hook system to create automated quality gates for your Android projects, catching bugs and enforcing standards before code hits your repository. · 4 min read</description>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Claude Code</category>
      <category>Automation</category>
      <category>Best Practices</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Fire OS Is Not Android: The Behavioral Differences That Break Your App</title>
      <link>https://sudarshantechlabs.com/blog/fire-os-android-differences</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/fire-os-android-differences</guid>
      <description>Amazon&apos;s Fire OS shares Android&apos;s codebase but diverges in ways that will surprise you. These are the specific behavioral differences — background restrictions, JavaScript timers, WebView versions, permission models — that break apps built for Android and deployed on Fire OS devices. · 7 min read</description>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Fire OS</category>
      <category>Digital Signage</category>
      <category>Testing</category>
      <category>Debugging</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>Buildinga Reactive Data Layer with Android Room and Kotlin Flow</title>
      <link>https://sudarshantechlabs.com/blog/android-room-database-with-kotlin-flow-reactive-data-layer</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-room-database-with-kotlin-flow-reactive-data-layer</guid>
      <description>Learn how to replace LiveData with Kotlin Flow in a Room‑based architecture, see real code, and make your Android app truly reactive. · 5 min read</description>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>I Stopped Manually Building Android Apps — Here&apos;s My GitHub Actions Pipeline</title>
      <link>https://sudarshantechlabs.com/blog/android-cicd-with-github-actions-build-test-and-deploy-to-play-store</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-cicd-with-github-actions-build-test-and-deploy-to-play-store</guid>
      <description>How I replaced every manual build, test, and upload step with a GitHub Actions workflow that deploys to the Play Store on a single push. · 5 min read</description>
      <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>CI/CD</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Background Processing: WorkManager vs Coroutines vs Services</title>
      <link>https://sudarshantechlabs.com/blog/android-background-processing</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-background-processing</guid>
      <description>Android has multiple ways to run background work. Choosing wrong leads to work that gets killed by Doze mode, battery drain, or ANRs. Here&apos;s when to use WorkManager, coroutines, foreground services, and how each interacts with the system. · 4 min read</description>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Coroutines</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Speeding Up Your App’s First Load with Android App Startup Library</title>
      <link>https://sudarshantechlabs.com/blog/android-app-startup-optimization-with-app-startup-library</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-app-startup-optimization-with-app-startup-library</guid>
      <description>I dive into the App Startup library, show how to register components, measure impact, and integrate it with Coroutines and Hilt for a measurable 200‑ms jump in launch time. · 4 min read</description>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Performance</category>
      <category>Startup</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Speed Up Your Builds: Mastering Feature Modules and Dynamic Delivery in Android</title>
      <link>https://sudarshantechlabs.com/blog/android-app-modularization-feature-modules-build-speed-and-dynamic-delivery</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-app-modularization-feature-modules-build-speed-and-dynamic-delivery</guid>
      <description>Learn how to split an Android app into feature modules, boost Gradle build times, and use Play Feature Delivery for on‑demand downloads—all with concrete Kotlin examples. · 5 min read</description>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <category>android</category>
      <category>kotlin</category>
      <category>performance</category>
      <category>best practices</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Jetpack Compose Performance: Avoiding Unnecessary Recompositions</title>
      <link>https://sudarshantechlabs.com/blog/jetpack-compose-performance</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/jetpack-compose-performance</guid>
      <description>Compose is fast by design, but it&apos;s easy to write composables that recompose far more than necessary. Here&apos;s how to identify recomposition problems, understand why they happen, and fix them with the right patterns. · 4 min read</description>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Performance</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Building a Claude Code Plugin from Scratch: DroidForge as a Case Study</title>
      <link>https://sudarshantechlabs.com/blog/building-claude-code-plugin</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/building-claude-code-plugin</guid>
      <description>A complete walkthrough of building a production Claude Code plugin — from plugin.json manifest to skill design to hook integration. Using DroidForge (Android build automation) as the real example, with the actual code and design decisions. · 7 min read</description>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>Claude Code</category>
      <category>AI</category>
      <category>Android</category>
      <category>Developer Tools</category>
      <category>Automation</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Debugging Android Production Crashes Across 22 Apps: The System I Use</title>
      <link>https://sudarshantechlabs.com/blog/debugging-android-production-at-scale</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/debugging-android-production-at-scale</guid>
      <description>When you maintain 22 Android apps simultaneously, production debugging has to be systematic. This is the exact triage process, tooling setup, and root-cause workflow I use to go from crash alert to fix in under 2 hours — even for intermittent, hard-to-reproduce issues. · 6 min read</description>
      <pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Debugging</category>
      <category>Production</category>
      <category>Firebase</category>
      <category>QA</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>Android In-App Purchases With Play Billing: A Practical Guide</title>
      <link>https://sudarshantechlabs.com/blog/android-in-app-purchases</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-in-app-purchases</guid>
      <description>Monetizing with in-app purchases requires more than integrating the Play Billing Library. Here&apos;s how to handle purchase flows, verify purchases securely, restore purchases, and avoid the common mistakes that cause rejected apps and failed payments. · 3 min read</description>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Monetization</category>
      <category>Kotlin</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>Automating Android App Releases: From Code to Play Store in Minutes</title>
      <link>https://sudarshantechlabs.com/blog/automating-android-app-releases-with-github-actions-and-fastlane</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/automating-android-app-releases-with-github-actions-and-fastlane</guid>
      <description>Learn how to streamline your Android app deployment pipeline using GitHub Actions and Fastlane, eliminating manual steps and reducing release errors. · 3 min read</description>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>CI/CD</category>
      <category>Automation</category>
      <category>Kotlin</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>My Android Release Workflow: From Code to Play Store in Under an Hour</title>
      <link>https://sudarshantechlabs.com/blog/my-android-release-workflow</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/my-android-release-workflow</guid>
      <description>A step-by-step breakdown of how I release Android apps to Google Play as a solo developer — versioning, signing, AAB builds, store listing, and the checklist that prevents me from shipping broken releases. · 6 min read</description>
      <pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Play Store</category>
      <category>Release</category>
      <category>CI/CD</category>
      <category>Automation</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Why OS Updates Break Your App (Even When You Changed Nothing)</title>
      <link>https://sudarshantechlabs.com/blog/why-os-updates-break-your-app</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/why-os-updates-break-your-app</guid>
      <description>Your app didn&apos;t change. The OS did. And now you have a critical bug in production. Here&apos;s why this keeps happening — and how to catch it before your users do. · 6 min read</description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>Android</category>
      <category>Mobile</category>
      <category>Release</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Debugging in Production Without Direct Access (Real Strategies)</title>
      <link>https://sudarshantechlabs.com/blog/debugging-production-without-direct-access</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/debugging-production-without-direct-access</guid>
      <description>The device is in a client&apos;s lobby. The user is in another country. You can&apos;t reproduce it locally. Here&apos;s how to debug production issues when you have no direct access to the failing environment. · 6 min read</description>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <category>Engineering</category>
      <category>Debugging</category>
      <category>Android</category>
      <category>Testing</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>&apos;Works on My Machine&apos; Is Still a Real Problem in 2026</title>
      <link>https://sudarshantechlabs.com/blog/works-on-my-machine-2026</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/works-on-my-machine-2026</guid>
      <description>Containers, CI/CD, and device farms were supposed to kill the &apos;works on my machine&apos; problem. They didn&apos;t. Here&apos;s why environment mismatch still causes failures and what actually fixes it. · 5 min read</description>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <category>Engineering</category>
      <category>Android</category>
      <category>Mobile</category>
      <category>CI/CD</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How to Build a Cross-Platform Player (Hard Truths)</title>
      <link>https://sudarshantechlabs.com/blog/cross-platform-player-hard-truths</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/cross-platform-player-hard-truths</guid>
      <description>Building a media/content player that works across Android, Fire OS, iOS, and web browsers is harder than it looks. Here&apos;s what actually breaks across platforms and the architecture decisions that minimize the damage. · 6 min read</description>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Engineering</category>
      <category>Mobile</category>
      <category>Digital Signage</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How We Test Digital Signage Across 18 Platforms (Real Workflow)</title>
      <link>https://sudarshantechlabs.com/blog/how-we-test-digital-signage-across-18-platforms</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/how-we-test-digital-signage-across-18-platforms</guid>
      <description>Real-world QA workflow for testing a digital signage app across 18 device platforms — device lab setup, test matrix, and how we handle OS update regressions. · 7 min read</description>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>Digital Signage</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Why Most Digital Signage Setups Fail (And Nobody Talks About It)</title>
      <link>https://sudarshantechlabs.com/blog/why-digital-signage-setups-fail</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/why-digital-signage-setups-fail</guid>
      <description>Digital signage failures aren&apos;t random. They follow predictable patterns — iframe blocking, OS restrictions, network mismatches — that most vendors never document. Here&apos;s what actually breaks and why. · 6 min read</description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <category>Digital Signage</category>
      <category>Testing</category>
      <category>Engineering</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How We Test Software Across Multiple Platforms (Android, iOS, Web, Devices)</title>
      <link>https://sudarshantechlabs.com/blog/testing-across-multiple-platforms</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/testing-across-multiple-platforms</guid>
      <description>Same feature, different platform, different bugs. After testing across Android, iOS, Fire OS, browsers, and embedded devices, here&apos;s the testing strategy that actually scales across platform fragmentation. · 6 min read</description>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>Android</category>
      <category>Mobile</category>
      <category>Digital Signage</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Manual Testing vs Automation Testing: What Actually Works in Real Projects</title>
      <link>https://sudarshantechlabs.com/blog/manual-testing-vs-automation</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/manual-testing-vs-automation</guid>
      <description>Teams either automate too early or never at all. Here&apos;s a practical breakdown of where manual testing wins, where automation pays off, and how to know which one your project actually needs. · 5 min read</description>
      <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>Automation</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Shipping an Android App Solo: The End-to-End Process From Code to Play Store</title>
      <link>https://sudarshantechlabs.com/blog/shipping-android-app-solo</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/shipping-android-app-solo</guid>
      <description>There&apos;s no team to hand off to when you&apos;re solo. Here&apos;s the complete end-to-end release process: final testing, building the AAB, signing, uploading, writing release notes, and monitoring after launch. · 5 min read</description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Solo Dev</category>
      <category>Release</category>
      <category>Play Store</category>
      <category>Engineering</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>Android Widgets With Glance: Building Home Screen Widgets in Compose</title>
      <link>https://sudarshantechlabs.com/blog/android-widgets-compose</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-widgets-compose</guid>
      <description>Home screen widgets are one of the most underused retention tools in Android development. Glance brings Compose-like syntax to widget development. Here&apos;s how to build a functional widget from scratch. · 3 min read</description>
      <pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Kotlin</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>Advanced StateFlow Patterns for Android ViewModels</title>
      <link>https://sudarshantechlabs.com/blog/stateflow-advanced-patterns</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/stateflow-advanced-patterns</guid>
      <description>Basic StateFlow usage is straightforward. The advanced patterns — combining flows, handling loading and error states, optimistic updates, and flow transformation — are where most devs hit walls. Here&apos;s how to do them correctly. · 4 min read</description>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <category>Kotlin</category>
      <category>Android</category>
      <category>Coroutines</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>How to Manage 20+ Android Apps as a Solo Developer Without Burning Out</title>
      <link>https://sudarshantechlabs.com/blog/managing-multiple-android-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/managing-multiple-android-apps</guid>
      <description>Maintaining 20+ live Android apps alone sounds impossible. Here&apos;s the architecture, tooling, and workflow decisions that actually make it manageable — without sacrificing quality or mental health. · 5 min read</description>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Solo Dev</category>
      <category>Career</category>
      <category>Engineering</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Deep Links: Implementation, Testing, and Common Pitfalls</title>
      <link>https://sudarshantechlabs.com/blog/android-deep-links</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-deep-links</guid>
      <description>Deep links connect external content to specific screens in your app. Web links, push notifications, and app shortcuts all use them. Here&apos;s how to implement, test, and debug Android deep links correctly. · 3 min read</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Kotlin</category>
      <category>Jetpack Compose</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Push Notifications With FCM: The Complete Implementation Guide</title>
      <link>https://sudarshantechlabs.com/blog/android-push-notifications</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-push-notifications</guid>
      <description>Push notifications are one of the highest-retention tools available. Done wrong, they destroy engagement. Here&apos;s how to implement FCM notifications correctly in Android, handle notification permissions, and design a notification strategy that users actually want. · 4 min read</description>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Firebase</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Play Store ASO Basics: How to Get More Installs From the Same App</title>
      <link>https://sudarshantechlabs.com/blog/play-store-aso-basics</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/play-store-aso-basics</guid>
      <description>App Store Optimization is the difference between an app that gets found and one that doesn&apos;t. Here are the specific ASO techniques that move the needle on Android: keywords, screenshots, ratings, and the 30-day improvement cycle. · 5 min read</description>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Play Store</category>
      <category>Startup</category>
      <category>Solo Dev</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Gradle Build Optimization: Cut Your Android Build Times in Half</title>
      <link>https://sudarshantechlabs.com/blog/gradle-build-optimization</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/gradle-build-optimization</guid>
      <description>A slow Gradle build kills developer productivity. Every wasted build minute multiplies across your team and across your day. Here&apos;s how to diagnose and fix the most common Android build performance problems. · 4 min read</description>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Tools</category>
      <category>Performance</category>
      <category>Engineering</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How to Reduce Android App Size: R8, Split APKs, and Resource Optimization</title>
      <link>https://sudarshantechlabs.com/blog/android-app-size-reduction</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-app-size-reduction</guid>
      <description>App size directly affects install rates and user retention. Every extra MB costs you installs. Here&apos;s a systematic approach to analyzing and reducing Android app size using R8, App Bundles, and resource optimization. · 4 min read</description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Performance</category>
      <category>Tools</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Crash Reporting and Production Monitoring for Android Apps</title>
      <link>https://sudarshantechlabs.com/blog/crash-reporting-and-monitoring</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/crash-reporting-and-monitoring</guid>
      <description>Releasing an app without crash reporting is flying blind. Here&apos;s how to set up Firebase Crashlytics, interpret crash data, prioritize fixes, and build a monitoring workflow that catches real problems fast. · 4 min read</description>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Monitoring</category>
      <category>Firebase</category>
      <category>Production</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Android Espresso Testing: Patterns That Actually Work in Production</title>
      <link>https://sudarshantechlabs.com/blog/android-espresso-testing</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/android-espresso-testing</guid>
      <description>Espresso is powerful but has sharp edges. Most guides show the happy path. Here&apos;s how to handle the real problems: async operations, Hilt integration, custom view matchers, and keeping tests from becoming a maintenance nightmare. · 3 min read</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Testing</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>
    <item>
      <title>Testing Kotlin Coroutines and Flow: The Complete Guide</title>
      <link>https://sudarshantechlabs.com/blog/kotlin-coroutines-testing</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/kotlin-coroutines-testing</guid>
      <description>Coroutines and Flow add async complexity that makes testing tricky. Here&apos;s how to use TestCoroutineDispatcher, runTest, and Turbine to write fast, deterministic tests for all your coroutine-based code. · 4 min read</description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>Kotlin</category>
      <category>Coroutines</category>
      <category>Testing</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Testing Jetpack Compose UI: A Practical Guide with Real Examples</title>
      <link>https://sudarshantechlabs.com/blog/testing-compose-ui</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/testing-compose-ui</guid>
      <description>Compose UI testing has a different mental model from View-based testing. Here&apos;s how to write reliable, maintainable Compose tests using ComposeTestRule, semantic matchers, and state-driven test patterns. · 3 min read</description>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Jetpack Compose</category>
      <category>Testing</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Testing Android Room Database: A Complete Guide with Kotlin</title>
      <link>https://sudarshantechlabs.com/blog/database-testing-android-room</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/database-testing-android-room</guid>
      <description>Room database logic is often undertested because developers don&apos;t know where to start. Here&apos;s how to write comprehensive tests for DAOs, migrations, and complex queries using JUnit and Room&apos;s testing utilities. · 4 min read</description>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Data</category>
      <category>Kotlin</category>
      <category>Testing</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Test-Driven Development in Practice: A Realistic Take for Android Devs</title>
      <link>https://sudarshantechlabs.com/blog/test-driven-development-practical</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/test-driven-development-practical</guid>
      <description>TDD is either praised as the only correct way to develop or dismissed as impractical. The reality is more nuanced. Here&apos;s how to apply TDD where it adds value in Android development without dogma. · 4 min read</description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Testing</category>
      <category>Kotlin</category>
      <category>Engineering</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Accessibility Testing for Android Apps: The Developer&apos;s Guide</title>
      <link>https://sudarshantechlabs.com/blog/accessibility-testing-android</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/accessibility-testing-android</guid>
      <description>Accessibility testing is often treated as optional. It&apos;s not — it&apos;s good engineering that serves millions of users with disabilities. Here&apos;s how to test and fix the most common accessibility issues in Android apps. · 4 min read</description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Testing</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Mobile App Testing Checklist: 40 Things to Check Before Release</title>
      <link>https://sudarshantechlabs.com/blog/mobile-testing-checklist</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/mobile-testing-checklist</guid>
      <description>A comprehensive pre-release checklist for Android apps covering functionality, performance, device compatibility, offline behavior, accessibility, and more. Use this before every production release. · 4 min read</description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Testing</category>
      <category>Release</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Security Testing for Android Apps: What Every Developer Should Check</title>
      <link>https://sudarshantechlabs.com/blog/security-testing-android</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/security-testing-android</guid>
      <description>Security vulnerabilities in Android apps can expose user data, bypass authentication, and get your app removed from the Play Store. Here&apos;s a practical security testing checklist developers can run themselves. · 4 min read</description>
      <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Security</category>
      <category>Testing</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>Performance Testing Basics: What to Measure and How to Start</title>
      <link>https://sudarshantechlabs.com/blog/performance-testing-basics</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/performance-testing-basics</guid>
      <description>Performance testing is often skipped until users complain. By then it&apos;s expensive to fix. Here&apos;s what to measure, how to set baselines, and the minimum viable performance testing setup for any application. · 4 min read</description>
      <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>Performance</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>CI/CD for Android Apps: A Solo Developer&apos;s Practical Setup</title>
      <link>https://sudarshantechlabs.com/blog/ci-cd-for-android-apps</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/ci-cd-for-android-apps</guid>
      <description>Continuous integration for Android doesn&apos;t require a DevOps team. Here&apos;s a lean CI/CD setup that runs tests automatically, builds release APKs/AABs, and deploys to Play Store — all from GitHub Actions. · 4 min read</description>
      <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>CI/CD</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>How to Start Test Automation From Zero: A Practical Roadmap</title>
      <link>https://sudarshantechlabs.com/blog/start-automation-from-zero</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/start-automation-from-zero</guid>
      <description>Starting automation from scratch is intimidating. Most guides assume you already have a setup. This one starts at zero — no existing tests, no infrastructure — and walks you through the first 30 days. · 4 min read</description>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <category>Testing</category>
      <category>Automation</category>
      <category>Android</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
    <item>
      <title>The Automation Pyramid in Practice: A Real Android App Example</title>
      <link>https://sudarshantechlabs.com/blog/automation-pyramid-real-example</link>
      <guid isPermaLink="true">https://sudarshantechlabs.com/blog/automation-pyramid-real-example</guid>
      <description>The automation testing pyramid is easy to draw on a whiteboard and hard to apply to a real codebase. Here&apos;s how it maps to an actual Android app with concrete test counts and tool choices. · 4 min read</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <category>Android</category>
      <category>Testing</category>
      <category>Automation</category>
      <category>Kotlin</category>
      <enclosure url="https://sudarshantechlabs.com/og-image.png" type="image/png" length="0"/>
    </item>
  </channel>
</rss>