// Engineering note
Komiljon Zokirov · Founder & Engineer
Why we build on Kotlin Multiplatform
Both Star Saviors and MagicMath share the same engineering DNA: a single Kotlin Multiplatform codebase. The game rules, state machines and logic live in pure Kotlin common code — Android ships today, iOS plugs in next, with no rewrite and no second team.
“One shared brain. Native on every device.”
The UI is 100% Compose Multiplatform — the same declarative screens render on every target. Coroutines & Flow drive a unidirectional state flow, so what you see on screen is always a pure function of the game's state — predictable, testable, leak-free.
Star Saviors is split into focused modules — one per planet (Earth, Moon, Mars, Venus, Jupiter), a shared game-state brain, a design system and a network layer. Clean boundaries mean a bug on Mars can't break the Moon, and new worlds plug in without touching the core.
Kotlin 2.3Compose MP 1.10AGP 9UDFKSP
star-saviors / settings.gradle.kts
// 11 modules · clean architecture
include(":composeApp") // shared UI
include(":androidApp")
include(":domain:gamestate") // the brain
include(":core:designsystem")
include(":integration:network")
include(":planet:earth") // 🌍
include(":planet:moon") // 🌑
include(":planet:mars") // 🔴
include(":planet:venus") // 🟠
include(":planet:jupiter") // 🟤
include(":feature:levels-extra")
// → Android now · iOS next