Skip to content

Kayan

Kayan merges base config with optional overrides and generates Kotlin values. Shared code reads typed properties directly — no platform-specific wiring.

Shared code first

No more Android-only BuildConfig. Generated typed object readable from shared Kotlin code across every platform target.

Opinionated merging

One base, external brand overrides, predictable resolution. Keep the app in one repo and pull customer overrides at build time without forking.

Build-time guarantees

Schema ownership lives with the app. Unknown keys, missing values, and type mismatches fail the build, not runtime.

Use cases

  • Gradual migration away from BuildConfig
  • White-label products with one shared base config
  • Compile-time feature flags and endpoints
  • Generated JSON Schema and Markdown docs

Schema kinds

  • string, boolean, int, long, double
  • stringMap, stringList, stringListMap
  • enumValue for normalized enum generation
  • custom adapters for consumer-owned types