Skip to content

Arkitekt

A modern Android & Kotlin Multiplatform architecture library built on Jetpack Compose and Kotlin Coroutines.

Arkitekt gives you a solid, testable foundation for building Android and KMP applications. It provides two architecture paths with the same core principles:

  • Android / Compose — ViewModel + Hilt + Jetpack Compose
  • Decompose / KMP — BaseComponent + Koin + Kotlin Multiplatform

Key Features

  • Compose-ready ViewModels with built-in state management and one-shot events
  • Coroutine Use Cases for clean, testable business logic (UseCase and FlowUseCase)
  • Kotlin Multiplatform support via Decompose with Koin dependency injection
  • KSP Factory Generator for Decompose components (@GenerateFactory)
  • kotlin.Result integration with getOrCancel for safe coroutine error handling
  • Testing utilities for mocking use cases, testing ViewModels, and testing Decompose components

Quick Installation

dependencies {
    // Android / Compose
    implementation("app.futured.arkitekt:core:6.0.0-beta05")
    implementation("app.futured.arkitekt:cr-usecases:6.0.0-beta05")
    implementation("app.futured.arkitekt:compose:6.0.0-beta05")

    // Decompose / KMP (optional)
    implementation("app.futured.arkitekt:decompose:6.0.0-beta05")
    implementation("app.futured.arkitekt:decompose-annotation:6.0.0-beta05")
    ksp("app.futured.arkitekt:decompose-processor:6.0.0-beta05")
}

See Installation for full details and snapshot builds.


Get Started

Android / Compose

Set up a Jetpack Compose project with ViewModel, ViewState, and Hilt.

Project Setup Quick Start

Decompose / KMP

Set up a Kotlin Multiplatform project with BaseComponent, Koin, and Decompose.

Project Setup Quick Start


Sample Projects

See Arkitekt in action in working applications that follow the same architectural patterns described in this documentation.

Android / Compose

The example module in this repository contains a minimal Android sample. For a full real-world project setup, see the Android Project Template.

Decompose / KMP

A full Kotlin Multiplatform project (Android + iOS) using BaseComponent, Koin, Decompose navigation, and KSP factory generation — KMP Futured Template.