One API in shared code
Kayan generates a typed object in commonMain, or in main for JVM and Android. Shared code can read config without an Android-only BuildConfig.

One API in shared code
Kayan generates a typed object in commonMain, or in main for JVM and Android. Shared code can read config without an Android-only BuildConfig.
A fixed merge order
Base defaults, flavor values, and optional external overrides follow one documented precedence order. A branded build only needs a config file, not a fork of the app.
A schema owned by the app
The consuming build declares its keys and Kotlin property names. Kayan checks missing values and type mismatches before it generates source. Strict mode rejects unknown keys too.
Use cases
BuildConfigexpect / actualBuilt-in schema types
string, boolean, int, long, doublestringMap, stringList, stringListMapenumValue for normalized enum generationcustom adapters for consumer-owned types