<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>KMP Bits</title><description>A blog about Kotlin Multiplatform and mobile development.</description><link>https://kmpbits.com/</link><item><title>Clean Lap: UI Testing in Compose Multiplatform</title><link>https://kmpbits.com/posts/compose-ui-test-cmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/compose-ui-test-cmp/</guid><description>Before the car hits the grid, telemetry confirms every sector. Before your UI ships, runComposeUiTest confirms every composable.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Smooth Handoff</title><link>https://kmpbits.com/posts/nav3-shared-elements/</link><guid isPermaLink="true">https://kmpbits.com/posts/nav3-shared-elements/</guid><description>Navigation 3 supports shared element transitions. It always did. LocalNavAnimatedContentScope was the piece the docs never mentioned.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Do You Really Need a Pit Wall?</title><link>https://kmpbits.com/posts/do-you-really-need-a-pit-wall/</link><guid isPermaLink="true">https://kmpbits.com/posts/do-you-really-need-a-pit-wall/</guid><description>The intermediary between your app and the database never disappeared. It just stopped being your problem.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The White Lines: Enforcing Design System Rules with Detekt</title><link>https://kmpbits.com/posts/detekt-custom-rules-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/detekt-custom-rules-kmp/</guid><description>Track limits don&apos;t stop you from going wide. They penalise you for it. Custom Detekt rules work the same way.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Crossing the Finish Line: StateFlow &amp; SharedFlow in Kotlin Multiplatform</title><link>https://kmpbits.com/posts/stateflow-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/stateflow-kmp/</guid><description>StateFlow is your lap timer — always showing the latest lap. SharedFlow is the race radio — you only hear what&apos;s broadcasted while you&apos;re tuned in.</description><pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Under the Hood: How Compose and SwiftUI Handle What Happens Off-Screen</title><link>https://kmpbits.com/posts/sideeffects-under-the-hood/</link><guid isPermaLink="true">https://kmpbits.com/posts/sideeffects-under-the-hood/</guid><description>Same engine, different cockpit: how Compose and SwiftUI handle side effects when sharing a Kotlin Multiplatform ViewModel.</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Master Compose Shared Element Transitions: A Smooth UI Journey</title><link>https://kmpbits.com/posts/shared-element-transition/</link><guid isPermaLink="true">https://kmpbits.com/posts/shared-element-transition/</guid><description>Building fluid, reliable shared element transitions in real-world Compose apps</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate></item><item><title>🎄 A Christmas Checklist for Kotlin Multiplatform Projects</title><link>https://kmpbits.com/posts/christmas-checklist-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/christmas-checklist-kmp/</guid><description>What Is Really Worth Sharing</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Testing Jetpack Compose UI on the JVM: The Discovery That Changed My Workflow</title><link>https://kmpbits.com/posts/robolectric-compose/</link><guid isPermaLink="true">https://kmpbits.com/posts/robolectric-compose/</guid><description>How Robolectric Made Compose UI Tests Fast and CI Friendly</description><pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate></item><item><title>🧩 Koin Injection on iOS Without Reified Crashes: A Clean KMM Pattern</title><link>https://kmpbits.com/posts/koin-inject-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/koin-inject-kmp/</guid><description>Tired of Koin blowing up on iOS because of reified generics? Here’s the definitive fix. Clean, type-safe, Swift-friendly. No crashes, no leaks, no nonsense.</description><pubDate>Fri, 21 Nov 2025 00:00:00 GMT</pubDate></item><item><title>🔔 Cross-Platform Notifications with KMP — All in Kotlin!</title><link>https://kmpbits.com/posts/notifications-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/notifications-kmp/</guid><description>All logic, all flows, all platform calls are written in Kotlin.</description><pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate></item><item><title>🚀 Exploring Multi-Layer Navigation in Jetpack Compose with Navigation 3</title><link>https://kmpbits.com/posts/task-navigation3/</link><guid isPermaLink="true">https://kmpbits.com/posts/task-navigation3/</guid><description>A simple, clean, and shows how to combine multiple NavDisplays in a way that scales beautifully as your app grows.</description><pubDate>Sun, 12 Oct 2025 00:00:00 GMT</pubDate></item><item><title>No, Emitting Loading State from the Repository Doesn’t Make You a Junior Dev</title><link>https://kmpbits.com/posts/loading-state-repository/</link><guid isPermaLink="true">https://kmpbits.com/posts/loading-state-repository/</guid><description>Why handling loading in your repository isn’t bad architecture, it’s actually a sign of experience and clean design.</description><pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Sleeping But Working: Cross-Platform Background Sync with KMP</title><link>https://kmpbits.com/posts/background-sync-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/background-sync-kmp/</guid><description>How to keep your app busy while your users (and you) sleep.</description><pubDate>Thu, 10 Jul 2025 00:00:00 GMT</pubDate></item><item><title>🧊 How Talking to Myself, Vanilla PHP, and an Ice Cream Led Me to Kotlin Multiplatform</title><link>https://kmpbits.com/posts/vanilla-php-icecream/</link><guid isPermaLink="true">https://kmpbits.com/posts/vanilla-php-icecream/</guid><description>A funny and honest story about bugs, PHP, and how one vanilla ice cream helped me realize that talking to myself was actually my greatest debugging tool.</description><pubDate>Fri, 27 Jun 2025 00:00:00 GMT</pubDate></item><item><title>NetFlow Part 1: Why I Took the Leap from Android-Only to Kotlin Multiplatform</title><link>https://kmpbits.com/posts/netflow-part1/</link><guid isPermaLink="true">https://kmpbits.com/posts/netflow-part1/</guid><description>A real-world story of how one Android-first library became a Kotlin Multiplatform (KMP) journey.</description><pubDate>Tue, 24 Jun 2025 00:00:00 GMT</pubDate></item><item><title>🚨 iOS 26’s Liquid Glass Is a Game-Changer for Kotlin Multiplatform — And a Wake-Up Call for Flutter</title><link>https://kmpbits.com/posts/ios26-liquid-glass/</link><guid isPermaLink="true">https://kmpbits.com/posts/ios26-liquid-glass/</guid><description>A stunning leap in visual design that only native apps truly get to experience.</description><pubDate>Mon, 16 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Ktorfit + Kotlin Multiplatform: Retrofit-like Networking for KMP Apps</title><link>https://kmpbits.com/posts/ktor-kmp/</link><guid isPermaLink="true">https://kmpbits.com/posts/ktor-kmp/</guid><description>Bring Retrofit’s simplicity to Kotlin Multiplatform with Ktorfit — type-safe networking that just works everywhere.</description><pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Flutter vs Kotlin Multiplatform: KMP with SwiftUI — Native Code with Kotlin Brain</title><link>https://kmpbits.com/posts/kmp-swiftui/</link><guid isPermaLink="true">https://kmpbits.com/posts/kmp-swiftui/</guid><description>Differences between KMP and Flutter</description><pubDate>Sat, 07 Jun 2025 00:00:00 GMT</pubDate></item><item><title>🧩 Injecting Fun: KMP + Koin Annotations Made Easy</title><link>https://kmpbits.com/posts/koin-annotations/</link><guid isPermaLink="true">https://kmpbits.com/posts/koin-annotations/</guid><description>Koin Annotations on Compose Multiplatform</description><pubDate>Sat, 31 May 2025 00:00:00 GMT</pubDate></item><item><title>🚀 Good News for Kotlin Multiplatform Devs: It Just Got Way Easier!</title><link>https://kmpbits.com/posts/kmp-project-creation/</link><guid isPermaLink="true">https://kmpbits.com/posts/kmp-project-creation/</guid><description>If you’ve been curious about Kotlin Multiplatform (KMP) or already building cross-platform apps, I’ve got some great news for you.</description><pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate></item></channel></rss>