# Kotlin/kmp-production-sample

This is an open-source, mobile, cross-platform application built with Kotlin Multiplatform Mobile. It's a simple RSS reader, and you can download it from the App Store and Google Play. It's been designed to demonstrate how KMM can be used in real production projects.

Repository: https://github.com/Kotlin/kmp-production-sample
Canonical: https://ross.abutalabs.com/products/kmp-production-sample
Homepage: https://kotlinlang.org/lp/mobile/
Language: Kotlin
License: MIT
License Family: permissive
Topics: kotlin, sample, kmm, kotlin-multiplatform, android, ios, kotlin-native, compose, multiplatform, jetpack-compose, reactjs
Last push: 2026-08-10T09:45:19+00:00

## Health v2 (maintenance only)
Score: 66/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 97, release rhythm 8, longevity 100
- inputs: {"age_days": 2179, "days_push": 23, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2281, forks 262 (observed 2026-08-28T04:06:33.874483+00:00)

## What it is
An official JetBrains open-source RSS reader app built with Kotlin Multiplatform, sharing data, domain, and state layers across Android, iOS, desktop, and web with native UIs (Jetpack Compose, SwiftUI, Compose Multiplatform, React). It serves as a production-style reference sample for KMP architecture.

## Use cases
- learn how to structure a Kotlin Multiplatform mobile app
- see how to share business logic between Android and iOS
- example of Redux-style state management in Kotlin Multiplatform
- reference for using Ktor and kotlinx.serialization in a shared module
- starting point for building a cross-platform RSS reader
- understand how to integrate a shared Kotlin framework into an Xcode project

## When to choose
- you want a real-world KMP architecture reference from JetBrains
- you're evaluating Kotlin Multiplatform for a production mobile app
- you need an example combining shared logic with fully native UIs
- you want to see offline caching and state handling in a multiplatform app

## When to avoid
- you need a production RSS reader with advanced features rather than a demo
- your project doesn't use Kotlin or the JVM ecosystem
- you want a fully shared-UI Compose Multiplatform template instead of native UIs

## Facets
- artifact type: application
- maturity: active
- function: http-client, serialization, state-management, mobile-framework
- domain: cross-platform, mobile-development, developer-tools, web-development
- platform: cross-platform, jvm
- tags: kotlin-multiplatform, rss-reader, sample-app, jetpack-compose, swiftui, compose-multiplatform, redux-pattern, learning-resource, android, ios, desktop

## Member repositories
- Kotlin/kmp-production-sample (main) score 66

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:33.874483+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:41:20.261891+00:00, confidence not recorded.
  - readme: https://github.com/Kotlin/kmp-production-sample (fetched 2026-08-28T04:06:33.874483+00:00, sha 5591cfe9c61f)
  - homepage: https://kotlinlang.org/lp/mobile/ (fetched 2026-08-29T10:21:39.185823+00:00, sha 73b9d0536e8b)
  - site_page: https://kotlinlang.org/docs/android-overview.html (fetched 2026-08-29T10:21:39.194206+00:00, sha eee2641adc4c)
  - site_page: https://kotlinlang.org/docs/home.html (fetched 2026-08-29T10:21:39.195941+00:00, sha 79765d7a6b62)
  - site_page: https://kotlinlang.org/docs/multiplatform/get-started.html (fetched 2026-08-29T10:21:39.198889+00:00, sha e48dd2fd41c8)
  - site_page: https://kotlinlang.org/docs/api-references.html (fetched 2026-08-29T10:21:39.200709+00:00, sha 6ee90bcab394)
  - site_page: https://kotlinlang.org/docs/getting-started.html (fetched 2026-08-29T10:21:39.202491+00:00, sha b98a86bae0bd)
  - site_page: https://kotlinlang.org/docs/multiplatform/compose-multiplatform-create-first-app.html (fetched 2026-08-29T10:21:39.204471+00:00, sha c14fc596fc6f)
  - site_page: https://kotlinlang.org/docs/multiplatform/multiplatform-create-first-app.html (fetched 2026-08-29T10:21:39.206899+00:00, sha dc5e5c8af491)
  - site_page: https://kotlinlang.org/docs/multiplatform/multiplatform-ktor-sqldelight.html (fetched 2026-08-29T10:21:39.209690+00:00, sha f089c0b43b64)
- Data as of 2026-08-30T08:39:29.467469+00:00.
