Ross ROSS = Recommend OSS · open-source software intelligence for agents

arkivanov/Decompose

Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing (navigation) and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.) observed · 2026-08-28

github.com/arkivanov/Decompose · homepage · Kotlin · Apache-2.0 (permissive) observed · 2026-08-28

Health v2 · maintenance only

79/100

  • Activity 91
  • Release rhythm 51
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.

  • gap_med: 110
  • age_days: 1727
  • days_rel: 171
  • days_push: 56
  • n_releases_24m: 6

Full methodology

Adoption not part of the score

2867 stars · 108 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

Decompose is a Kotlin Multiplatform library for breaking code into tree-structured, lifecycle-aware business logic components (BLoCs) with routing/navigation and pluggable UI layers. It supports Jetpack/Multiplatform Compose, Android Views, SwiftUI, and Kotlin/React, keeping business logic testable and UI-agnostic.

Use cases

  • share navigation and business logic across Android and iOS in Kotlin Multiplatform
  • structure an app into lifecycle-aware BLoC components with parent-child trees
  • swap UI frameworks (Compose, SwiftUI, React) while keeping the same logic
  • keep back-stack components alive in background without UI
  • preserve and restore component state across configuration changes
  • write pure multiplatform unit tests for business logic

When to choose

  • building a Kotlin Multiplatform app needing shared navigation and state
  • you want strict separation of UI and business logic with pluggable UI
  • you need lifecycle-aware components with state preservation and instance retention

When to avoid

  • building a single-platform app where simpler platform-native navigation suffices
  • you are not using Kotlin or Kotlin Multiplatform
  • you want a batteries-included UI toolkit rather than a logic/navigation library

Facets

library · maturity active

state-management routing middleware ui-components mobile-development cross-platform web-development frontend jvm wasm kotlin-multiplatform bloc navigation jetpack-compose swiftui lifecycle-aware mvi android ios macos

2 sources

Member repositories

RepositoryRoleHealth v2
arkivanov/Decomposemain79

For agents

markdown · JSON · MCP: product_card(name="arkivanov/Decompose")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem