# Kotlin-Android-Open-Source/MVI-Coroutines-Flow

Play MVI with Kotlin Coroutines Flow | MVI pattern on Android using Kotlin Coroutines Flow | Dagger Hilt DI | Koin DI | SharedFlow | StateFlow | Arrow.kt Android Sample

Repository: https://github.com/Kotlin-Android-Open-Source/MVI-Coroutines-Flow
Canonical: https://ross.abutalabs.com/products/mvi-coroutines-flow
Homepage: https://github.com/hoc081098
Language: Kotlin
License: MIT
License Family: permissive
Topics: mvi-coroutines-flow, kotlin-coroutines-flow, android-mvi-sample, android-mvi, android-mvi-architecture, android-mvi-flow, coroutines-flow, mvi-coroutines-flow-kotlin, coroutines-flow-mvi, unidirectional-data-flow, mvi-clean-architecture, mvi, dagger-hilt, sharedflow, kotlin-coroutines, coroutines, kotlin-android, arrow-kt, android-arrow-kt
Last push: 2026-08-25T13:16:37+00:00

## Health v2 (maintenance only)
Score: 67/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 8, longevity 100
- inputs: {"age_days": 2488, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1112, forks 115 (observed 2026-08-28T04:03:37.749360+00:00)

## What it is
A sample Android application demonstrating the MVI (Model-View-Intent) architecture pattern implemented with Kotlin Coroutines Flow, SharedFlow, and StateFlow. It ships multiple variants covering Clean Architecture, functional programming with Arrow.kt, and dependency injection with both Dagger Hilt and Koin, along with unit tests.

## Use cases
- learn MVI architecture on Android with Kotlin Coroutines Flow
- see how to use SharedFlow and StateFlow in an MVI ViewModel
- example of Clean Architecture with multiple Gradle modules in Kotlin
- compare Dagger Hilt and Koin dependency injection in one project
- functional error handling on Android with Arrow.kt
- reference for unit testing MVI ViewModels and data layers
- understand unidirectional data flow in Android apps

## When to choose
- you are an Android developer learning or teaching MVI with Coroutines Flow
- you want a working reference combining Clean Architecture, Arrow.kt, and DI frameworks
- you need example unit tests for MVI ViewModels and repository layers

## When to avoid
- you need a production-ready MVI library or framework rather than a sample app
- your project uses RxJava or Java instead of Kotlin Coroutines
- you are not targeting Android

## Facets
- artifact type: learning-resource
- maturity: active
- function: state-management, developer-tools, testing
- domain: mobile-development, android-tools, developer-tools, tutorials
- platform: jvm
- tags: mvi, coroutines-flow, clean-architecture, dagger-hilt, koin, arrow-kt, sharedflow, stateflow, unidirectional-data-flow, sample-app, android, mobile

## Member repositories
- Kotlin-Android-Open-Source/MVI-Coroutines-Flow (main) score 67

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:37.749360+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:42:38.841356+00:00, confidence not recorded.
  - readme: https://github.com/Kotlin-Android-Open-Source/MVI-Coroutines-Flow (fetched 2026-08-28T04:03:37.749360+00:00, sha c5a50e18bf28)
  - homepage: https://github.com/hoc081098 (fetched 2026-08-29T12:46:19.440833+00:00, sha d6ebaa7d2b76)
- Data as of 2026-08-30T08:39:29.467469+00:00.
