Ship native screens from your backend.
HeimUI is a Server-Driven UI engine for Kotlin Multiplatform. Your backend returns JSON describing a screen; the SDK renders it as native Compose on Android and iOS. Changing a screen becomes a deploy, not an app release.
Compose Multiplatform’s Android target is Jetpack Compose — the same
androidx.compose
classes, no duplication — so an ordinary Android module consumes it with nothing special in the
build. The only requirement is that your app uses Compose.
Mobile SDK
Installation, the component catalogue, actions, theming and the four levels of customisation.
Works in a Kotlin Multiplatform project and in a plain Android one — no KMP plugin required.
Read the docs →Studio
The visual editor for building screens without writing JSON, and publishing them to your own infrastructure.
Backend
Serving payloads from your own services. The screen contract, the gateway pattern, and how it fits an existing microservice estate.
Why it is built this way
Rendering JSON is the easy part. What separates a toy from something you put in front of users is what happens when things go wrong — a payload from a newer server, a network that drops mid-form, a cache written by an attacker on a rooted device.
Forward compatible
A component type the client has never heard of degrades to nothing and reports itself. An old app does not break on a new payload.
Fails closed
Submissions reach allow-listed hosts only, URLs open allow-listed schemes only, and signed payloads are re-verified when read back from cache.
Degrades, never blanks
Stale-while-revalidate, ETag revalidation, a circuit breaker, timeouts, and an emergency bundle compiled into the app.
Yours to extend
Nine providers, native components addressed by name from the payload, and a data layer you can replace outright.