Patrick Jackson · projects

ReduxKotlin

196 words1 min read#kotlin-multiplatform#redux#open-source

ReduxKotlin is a port of the JavaScript Redux library to Kotlin, with full Kotlin Multiplatform support. It enables the same predictable state-management patterns used in web frontends on Android, iOS, JVM, macOS, Linux, and WASM targets — sharing state logic across platforms.

Problem it solves

Mobile apps often have complex, asynchronous state spread across multiple screens. Redux’s unidirectional data flow — actions → reducer → new state — makes state changes predictable and testable. By porting Redux to Kotlin Multiplatform, teams can write shared business logic and state management once and run it on every Kotlin target.

A key challenge on native platforms is thread safety: unlike JavaScript’s single-threaded environment, Kotlin/Native requires careful handling of shared mutable state. ReduxKotlin addresses this with a thread-safe store implementation.

Key details

  • Site: reduxkotlin.org
  • GitHub: reduxkotlin
  • Published to Maven Central via GitHub Actions CI across Linux, macOS, and Windows build environments
  • Ecosystem includes Thunk middleware and Presenter-middleware
  • Talk: “ReduxKotlin.org: Redux for All Kotlin Platforms” at Droidcon NYC 2019 (video)

Status

Active open-source project. Patrick is the author and maintainer.