<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>commonMain.dev (Articles)</title>
    <link>https://commonmain.dev/</link>
    <description>This is an RSS Feed for the newsletter "commonMain.dev (Articles)"</description>
    <item>
      <title>I don't think shared Compose Multiplatform UI is the future for iOS (yet)</title>
      <link>https://commonmain.dev/r/0aef5db4?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;I'm still using Kotlin Multiplatform for business logic, networking, database, etc., but I no longer share the UI. Android uses Compose. iOS is built entirely in SwiftUI while calling shared Kotlin through a shared module. The difference has been huge. The new iOS app is around 8–10 MB instead of ~100 MB, and the experience finally feels like a proper iOS app.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/0aef5db4?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Practical Kotlin Deep Dive</title>
      <link>https://commonmain.dev/r/f223ad55?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Stop treating Kotlin like a black box! &#x1f9e0; To build truly performant multiplatform apps, writing code that just "works" isn't enough. We need to understand what the compiler is actually doing under the hood. That’s why I highly recommend Practical Kotlin Deep Dive by skydoves. This isn't a basic syntax guide, it breaks down Kotlin internals, bytecode, and coroutines. It’s been a total game-changer for me when writing and optimizing shared code. If you want to level up your Kotlin and KMP skills to a senior standard, you need this on your desk.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/f223ad55?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Yet Another Way to KMP: One Pattern, Three Seams</title>
      <link>https://commonmain.dev/r/4874b0bd?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;The last article ended on a claim: isolate the platform API behind a small interface in commonMain, and everything above it can be written once. That result came from porting a 2012 Objective-C iOS app into shared Kotlin and standing up Android alongside it. Good outcome — but a single data point, and one where I controlled the scope. So I did it again, deliberately choosing a project that would stress the parts the first one didn’t.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/4874b0bd?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Why We Chose KMP Over React Native: It’s an Architecture Bet, Not a Framework Preference</title>
      <link>https://commonmain.dev/r/6912d577?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;For a long time, React Native was the go-to answer. On paper, it sounds great: write JavaScript once, leverage a huge web ecosystem, and ship features fast. But once your app grows, the reality hits. React Native forces you to wrap your entire mobile application inside a JavaScript runtime engine. When we re-evaluated our long-term mobile strategy, we realized we didn’t want a framework that forces us to compromise on native quality just to save time. We wanted an architecture that actually scales.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/6912d577?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>The One-Liner That Was Eating Our Memory</title>
      <link>https://commonmain.dev/r/d3158125?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;The JetBrains Jewel project recently got a report of a supposed memory leak in the LazyTree Composable. Thankfully, the issue had a minimal reproducer that we could use to investigate this weird behavior. But the reproducer by itself is not enough, to effectively check if there are any memory leaks going on, we need specific tooling.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/d3158125?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>One Codebase, Two On-Device Brains: Gemini Nano and Apple Intelligence in Compose Multiplatform</title>
      <link>https://commonmain.dev/r/a7bd80a8?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Jibify’s rule has always been the same: AI runs on the phone by default, and the cloud is only a fallback. That rule didn’t change when I moved to Compose Multiplatform. What changed is that “the phone” now means two very different phones.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/a7bd80a8?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Scanning bus stop codes with ML Kit and Vision in the GalwayBus Compose Multiplatform app</title>
      <link>https://commonmain.dev/r/6933a5b0?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;In this article we’ll look at how that’s put together: the expect/actual camera scanner, the per-platform OCR implementations, and how we match the recognised text to a stop.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/6933a5b0?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>The 7% You Can’t Share</title>
      <link>https://commonmain.dev/r/45b518b2?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;A Compose Multiplatform app can share 93% of its code and still meet the platform in two places nothing abstracts away — native vendor SDKs, and the physical device. The finale is about engineering that edge so it fails loudly instead of rotting in silence.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/45b518b2?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>The challenge of adding a Web target to DroidconKotlin</title>
      <link>https://commonmain.dev/r/309d3ed4?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;It took a while for all the dependencies to be in place, but once support was available (especially SQLDelight support) we were finally able to add support for browsers. In this post we wanted to go over the difficulties and intricacies of adding web support to our project.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/309d3ed4?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Same Car, Every Time: Deterministic Feature Module Generation in KMP</title>
      <link>https://commonmain.dev/r/52b78b80?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Feature modules are a spec series. I want every one of mine built to the same jig, so that when a module behaves oddly I know it’s the code I wrote and not the scaffold it arrived in. It took me a while, and one AI-generated codebase, to work out that I’d been running Formula 1.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/52b78b80?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Stop Ignoring Compose Stability (Yes, Even with Strong Skipping Mode)</title>
      <link>https://commonmain.dev/r/52e9c05e?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>In this post, we’ll look at how Strong Skipping Mode actually compares parameters under the hood &#x1f52c; and demonstrate with a live demo (using List&lt;T&gt; as a primary example) why unstable parameters can still cause unnecessary recompositions &#x1f504;.</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/52e9c05e?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Yaru Compose UI</title>
      <link>https://commonmain.dev/r/ecf6c0e6?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;A Compose Multiplatform port of yaru.dart, Ubuntu's design system. It brings the GNOME/Yaru design language — widgets, accent variants, the Ubuntu font — to Android, iOS, Desktop and Web through Compose Multiplatform.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/ecf6c0e6?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>From God ViewModel to Composed Screen Logic</title>
      <link>https://commonmain.dev/r/e5f304a9?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;When building a Compose UI, passing a ViewModel deep into the UI makes components less reusable because they become tied to one ViewModel type, and therefore to one screen. It also makes them harder to test in isolation and can break previews because previews are not meant to recreate the real runtime environment of the app.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/e5f304a9?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Carrd</title>
      <link>https://commonmain.dev/r/d8b10564?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;• Simple, free, fully responsive one-page sites for pretty much anything. Whether it's a personal profile, a landing page for your KMP project, or something a bit more elaborate, Carrd has you covered. Simple, responsive, and yup — totally free!&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/d8b10564?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Hourly Journal - Hourly Mood Tracker &amp; Micro Journaling App</title>
      <link>https://commonmain.dev/r/b7c00d87?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Hourly Journal is a calm hourly check-in journal for mood, voice journaling, photos, energy and stress. Micro journalin…&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/b7c00d87?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>GitHub - ber4444/motoman-kmp: Kotlin Multiplatform 3D motorcycle racing game — shared engine and OpenGL ES renderer, Compose Multiplatform HUD.</title>
      <link>https://commonmain.dev/r/76b42d7f?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Kotlin Multiplatform 3D motorcycle racing game — shared engine and OpenGL ES renderer, Compose Multiplatform HUD. - ber…&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/76b42d7f?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>GitHub - joreilly/GalwayBus: Galway Bus Kotlin Multiplatform project using Jetpack Compose and SwiftUI</title>
      <link>https://commonmain.dev/r/2a87ea04?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Galway Bus Kotlin Multiplatform project using Jetpack Compose and SwiftUI - joreilly/GalwayBus…&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/2a87ea04?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - hackajob</title>
      <link>https://commonmain.dev/r/92b7adc5?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;• Meet Archer, your AI job matching agent 5x more interviews. Zero guesswork. Archer works 24/7 to match you with roles that fit your stack and seniority. You review the matches, not the job boards.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/92b7adc5?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Senior Kotlin Multiplatform Engineer - YOnC SDK</title>
      <link>https://commonmain.dev/r/b2f4cc55?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;at Yonder Media Mobile Yo is building an AI inference platform that runs directly on smartphones - turning the phone in your pocket into part of a global AI network. The mobile SDK that ships this to Android and iOS devices is moving to a shared core built in Kotlin Multiplatform, replacing what was previously two separate native codebases. This is a foundational hire on a KMP effort that is just getting started.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/b2f4cc55?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-08-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Ship Kotlin Everywhere (JetBrains x RevenueCat Shipaton)</title>
      <link>https://commonmain.dev/r/5e15a4ce?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Reuse the Kotlin you know to build and launch a real app across Android, iOS, desktop, and web. Then compete for the Ship Kotlin Everywhere Award.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/5e15a4ce?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Practical Kotlin Deep Dive</title>
      <link>https://commonmain.dev/r/e8c8ee99?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Stop treating Kotlin like a black box! &#x1f9e0; To build truly performant multiplatform apps, writing code that just "works" isn't enough. We need to understand what the compiler is actually doing under the hood. That’s why I highly recommend Practical Kotlin Deep Dive by skydoves. This isn't a basic syntax guide, it breaks down Kotlin internals, bytecode, and coroutines. It’s been a total game-changer for me when writing and optimizing shared code. If you want to level up your Kotlin and KMP skills to a senior standard, you need this on your desk.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/e8c8ee99?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>One Kotlin codebase, three platforms: building Multidex with Compose Multiplatform</title>
      <link>https://commonmain.dev/r/9f896981?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Multidex is a Pokédex app that ships to Android, iOS and Desktop (JVM) from one Kotlin codebase — Kotlin 2.4, Compose Multiplatform 1.9, Material 3 Expressive. It's live on Google Play, and this post is the honest write-up I wish I'd read before starting: how the modules are cut, what shared beautifully, and where the platform seams still show.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/9f896981?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>We Called Our App Multiplatform. 848 Lines Actually Were</title>
      <link>https://commonmain.dev/r/3a0d5d19?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;This series is the story of the rebuild: how GeoKrishi Farm went from that number to 46 Gradle modules with 93% measured shared code, live on both stores, without users ever noticing the swap. This first part is the case study — what the fork looked like, why it happened to a reasonable team, and what the rebuild changed, in numbers I can defend line by line.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/3a0d5d19?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Fuel Strategy: Paging in Compose Multiplatform</title>
      <link>https://commonmain.dev/r/589906f8?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;That’s paging. You don’t pull four thousand rows into memory because the user might scroll that far. You pull thirty, and you pull the next thirty while they’re still reading the first ones.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/589906f8?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Evolving my Pure Kotlin &amp; Compose RPG Engine: Migrating world rendering to Filament for an 8x performance boost</title>
      <link>https://commonmain.dev/r/d1fe7603?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;While pure Compose Canvas was an incredible playground for prototyping the engine and keeping everything strictly in Kotlin, expanding the tilemap, weather, and dynamic lighting eventually pushed me into a hard bottleneck on the CPU. To fix this without breaking the live game or throwing away my canvas codebase, I decided to overhaul the world rendering pipeline and migrate it to Google Filament.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/d1fe7603?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Carrd</title>
      <link>https://commonmain.dev/r/3e7abb3a?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;• Simple, free, fully responsive one-page sites for pretty much anything. Whether it's a personal profile, a landing page for your KMP project, or something a bit more elaborate, Carrd has you covered. Simple, responsive, and yup — totally free!&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/3e7abb3a?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Multidex – Pokédex &amp; Dex Guide - Apps on Google Play</title>
      <link>https://commonmain.dev/r/51f4bc5e?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Fast offline Pokédex app — search every Pokémon, moves, types, stats &amp; shinies&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/51f4bc5e?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Adventurers Guild: RPG Sim - Apps on Google Play</title>
      <link>https://commonmain.dev/r/1f992e94?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;Build your guild, recruit heroes, hunt monsters. Offline fantasy RPG simulator&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/1f992e94?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - hackajob</title>
      <link>https://commonmain.dev/r/0bd621bc?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;• Meet Archer, your AI job matching agent 5x more interviews. Zero guesswork. Archer works 24/7 to match you with roles that fit your stack and seniority. You review the matches, not the job boards.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/0bd621bc?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Senior Mobile Software Engineer with Kotlin</title>
      <link>https://commonmain.dev/r/47f17f37?m=3be13b1e-0485-41a9-8c96-0511056b8af0</link>
      <description>&lt;p&gt;at Accesa (Remote) We are looking for a Senior Kotlin Developer who is experienced in Kotlin Multiplatform delivery, comfortable owning complex shared modules in a layered architecture, and motivated by the challenge of building the reliable, platform-agnostic foundation that modern retail operations depend on.&lt;/p&gt;</description>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <guid>https://commonmain.dev/r/47f17f37?m=3be13b1e-0485-41a9-8c96-0511056b8af0</guid>
      <dc:date>2026-07-28T00:00:00Z</dc:date>
    </item>
  </channel>
</rss>
