MVI framework (not just) for Android, with events, middlewares, and time-travel debugger
Clone or download
Latest commit 4e0f5a6 Oct 14, 2018


Build Status

What's this?

MVICore is a modern MVI framework featuring:

  • 100% Kotlin: An easy way to implement your business features in a reactive way with unidirectional dataflow
  • 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


Head over to the Documentation to see what's possible.


Latest version is 1.1.2


Available through jitpack.

Add the maven repo to your root build.gradle

allprojects {
    repositories {
        maven { url '' }

Add the dependencies:

  • Framework:
implementation 'com.github.badoo.mvicore:mvicore:{latest-version}'
  • Helper classes for Android:
implementation 'com.github.badoo.mvicore:mvicore-android:{latest-version}'
  • Time Travel Debugger controls in a DebugDrawer module
implementation 'com.github.badoo.mvicore:mvicore-debugdrawer:{latest-version}'