A MAP FOR EVERY FEATURE

Clean architecture for Kotlin Multiplatform apps

KMP SK starts every Kotlin Multiplatform feature with the same clear route from Compose UI to presentation, domain and data. ViewModels, use cases, repositories and typed results are already organized, so product code stays testable as the app grows and platform-specific details stay at explicit boundaries.

ONE-WAY PRODUCT FLOW

A predictable path from tap to stored data

  1. 01

    UI emits an event

    Compose renders immutable state and sends user intent to the feature ViewModel.

  2. 02

    Presentation coordinates

    The ViewModel runs the relevant use case and maps domain outcomes into screen state.

  3. 03

    Domain defines the rule

    Use cases and typed results keep business behavior independent from screens and providers.

  4. 04

    Data chooses the source

    Repository implementations coordinate Ktor, local storage, caching and connectivity.

  5. 05

    Platforms handle real differences

    Expect/actual seams isolate permissions, maps, storage and other native APIs.

STRUCTURE IS CONTEXT

Useful guardrails for humans and coding agents

A codebase becomes easier to extend when similar changes look similar. KMP SK includes repository-level instructions for common coding agents, plus named workflows for adding screens, endpoints and releases. The architecture supplies the map; automated checks verify that a change stayed on it.

This does not promise perfect generated code. It reduces ambiguity: agents can see the intended package, state model and validation command before they edit. You still review the result, but you are reviewing a change against an established convention.

READY WHEN YOU ARE

Build the feature—not a new architecture for the feature.

Get the full source once, then use it across your own and client projects.

See pricing