Project Structure (expect / actual)
Source sets
A KMP module has shared and platform-specific folders:
commonMain— shared Kotlin code for all platforms.androidMain— Android-only code.iosMain— iOS-only code.
expect / actual
When you need something platform-specific (like the device name), declare it in common with expect and implement it per platform with actual.
// commonMain
expect fun platformName(): String
// androidMain
actual fun platformName(): String = "Android"
// iosMain
actual fun platformName(): String = "iOS"
Tip: Keep as much as possible incommonMain; only drop intoexpect/actualwhen a real platform API is required.