badoo/MVICore

MVI framework with events, time-travel, and more

Kotlin

1,302

451 commits

updated Oct 16, 2026

See the code

README

MVICore

Build Version License

What's this?

MVICore is a modern, Kotlin-based MVI framework:

  • Scaling with complexity: operate with a single Reducer if needed, with the option of having the full power of additional components to handle more complex cases
  • Event handling: A solution to handling events that you don’t want to store in the state
  • Reactive component binding: A super simple API to bind your reactive endpoints to each other with automatic lifecycle handling
  • Custom Middlewares: for every single component in the system, with flexible configuration options
  • Logger: An out-of-the-box logger Middleware
  • Time Travel Debugger: for ALL of your reactive components (not just your state machine!) with UI controls for recording and playback

Documentation

The library comes with lots of powerful capabilities and tooling.

See https://badoo.github.io/MVICore/ for full documentation.

Download

Available through jitpack.

Add the maven repo to your root build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Add the dependencies:

  • Framework:
implementation 'com.github.badoo.mvicore:mvicore:{latest-version}'
  • Binder (for versions higher than 1.2.4)
implementation 'com.github.badoo.mvicore:binder:{latest-version}'
  • Helper classes for Android:
implementation 'com.github.badoo.mvicore:mvicore-android:{latest-version}'
  • ModelWatcher for efficient view updates
implementation 'com.github.badoo.mvicore:mvicore-diff:{latest-version}'
  • Time Travel Debugger controls in a DebugDrawer module (You need to add the dependencies to DebugDrawer and configure it yourself before you can use this):
implementation 'com.github.badoo.mvicore:mvicore-debugdrawer:{latest-version}'
android
android-architecture
android-library
kotlin-android
mvi
mvi-architecture

badoo/MVICore

MVI framework with events, time-travel, and more

Kotlin

1,302

451 commits

updated Oct 16, 2026

See the code

README

MVICore

Build Version License

What's this?

MVICore is a modern, Kotlin-based MVI framework:

  • Scaling with complexity: operate with a single Reducer if needed, with the option of having the full power of additional components to handle more complex cases
  • Event handling: A solution to handling events that you don’t want to store in the state
  • Reactive component binding: A super simple API to bind your reactive endpoints to each other with automatic lifecycle handling
  • Custom Middlewares: for every single component in the system, with flexible configuration options
  • Logger: An out-of-the-box logger Middleware
  • Time Travel Debugger: for ALL of your reactive components (not just your state machine!) with UI controls for recording and playback

Documentation

The library comes with lots of powerful capabilities and tooling.

See https://badoo.github.io/MVICore/ for full documentation.

Download

Available through jitpack.

Add the maven repo to your root build.gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Add the dependencies:

  • Framework:
implementation 'com.github.badoo.mvicore:mvicore:{latest-version}'
  • Binder (for versions higher than 1.2.4)
implementation 'com.github.badoo.mvicore:binder:{latest-version}'
  • Helper classes for Android:
implementation 'com.github.badoo.mvicore:mvicore-android:{latest-version}'
  • ModelWatcher for efficient view updates
implementation 'com.github.badoo.mvicore:mvicore-diff:{latest-version}'
  • Time Travel Debugger controls in a DebugDrawer module (You need to add the dependencies to DebugDrawer and configure it yourself before you can use this):
implementation 'com.github.badoo.mvicore:mvicore-debugdrawer:{latest-version}'
android
android-architecture
android-library
kotlin-android
mvi
mvi-architecture

Project health

Overall

2.9/10

Maintained

0/10

Code review

4/10
OpenSSF Scorecard

Significant stargazers

WinWang

102 followers · starred Jan 2024

Aki Sakurai

14 followers · starred Dec 2020

Svyatoslav Chatchenko

32 followers · starred Dec 2018

Ilya Zakoulov

13 followers · starred Jul 2023