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.