Native Android UI/UX, generated by AI. A set of runnable Android demos that show StemJSON in practice — the new JSON-based language AI writes, rendered as native Jetpack Compose by StemRuntimeSDK.
Every module in this repo was produced through AI-assisted authoring — human-designed prompts, human selection among candidate outputs, and human editorial curation of the final JSON. StemJSON is a declarative JSON DSL designed to be written by an LLM and rendered as native Jetpack Compose by StemRuntimeSDK. No web views, no React Native, no JavaScript bridge.
Point an AI at the LLM spec (or the full spec for human context). Ask for the UI/UX you want. Drop the output into this workspace. Run it.
| Project | What it is |
|---|---|
| StemQuickStart | A single ComponentActivity that validates one JSON module and embeds the render. Copy this to start. |
| StemCompose | Full showcase — every module type rendered modally. |
| StemHome ⭐ | Native Compose + StemJSON mixed in the same app with bidirectional state. |
The demo that answers: can AI-generated UI coexist with hand-written Compose in the same app? Yes — and this shows how.
Native Compose tabs alongside an LLM-generated StemJSON module, sharing state bidirectionally. Toggle a native device card → the JSON module receives it via onCustom and updates declaratively. Change JSON state → the native view reads it back through runtime.subscribe and re-renders. runtime.trigger() from Kotlin, runtime.subscribe() back — no bridge, no serialization per call, no polling.
The point: you don't have to choose. Let the AI generate the feature surface; keep the critical paths in the Kotlin code you wrote. Both live in the same screen, backed by the same state.
git clone https://github.com/vkrychun/stem-examples-kotlin.git
cd stem-examples-kotlin
./gradlew :StemQuickStart:installDebugOr open the project in Android Studio and run any of the three Stem* modules. Android 7.0 (API 24)+.
Note: on physical devices, the freeware tier of StemRuntimeSDK displays a small "Powered by StemJSON" notice on rendered surfaces. This is removable under the paid SDK licence; see the StemRuntimeSDK EULA.
- StemJSON spec — human-readable language specification.
- StemJSON — LLM reference — condensed reference optimised for LLM prompts.
- StemRuntimeSDK — the Kotlin / Compose runtime that renders it.
The example code in this repository — Kotlin sources and JSON modules — is released under the MIT License. Copy, adapt, ship.
The two projects this repo links against are governed by their own licenses:
- StemJSON specification — OWFa 1.0 with an additional attribution requirement.
- StemRuntimeSDK — its own End-User License Agreement.
If you redistribute or adapt the JSON modules in a product that implements StemJSON, the spec's attribution requirement still applies (see the StemJSON LICENSE).
StemJSON specification created by Vasyl Krychun — https://stemjson.com
"StemJSON", "StemRuntimeSDK", "StemRuntime", and the StemJSON logo are trademarks of Vasyl Krychun. See the StemJSON trademark policy for permitted uses.
