StemJSON lets AI add native modules after mobile apps ship

Vasyl Krychun's open JSON language renders generated modules through SwiftUI and Jetpack Compose, bringing app-store review and runtime trust into the prompt-driven development pitch.

By · Published

Primary source: StemJSON

Why it matters

StemJSON brings generative UI into shipped native apps, requiring developers to evaluate AI-authored functionality against runtime validation, privacy controls and app-store review.

A hand holds a smartphone displaying a clean mobile app interface with a subtly glowing, newly added feature module.

Vasyl Krychun's StemJSON is a declarative language and runtime that lets AI-generated JSON modules render as native iOS or Android features inside apps developers have already shipped.

The project was publicly described by creator Vasyl Krychun in a July 21st essay, while its homepage presents the format as a way to add native modules without shipping a new binary. Krychun wrote that the idea grew from watching AI tools produce working web pages almost immediately while mobile development remained tied to IDE setup, compilation, signing and distribution. His proposed shortcut is a constrained language that AI can generate and a runtime that translates it into native components on the device.

Krychun brings the perspective of someone who worked through several generations of mobile computing. In Krychun's DOU profile, he identifies himself as a senior engineering manager at Avenga with more than 20 years in IT, starting with Symbian and J2ME before moving into iOS, Android and AI integrations. Crunchbase lists him as a co-founder and former CTO of HarderBetter, an AI-oriented fitness application.

A language for features, not mockups

StemJSON is a domain-specific language expressed in ordinary JSON. Its version 1.1 specification covers component trees, reactive state, expressions, events, actions, navigation, validation and data access. The specification repository provides the project code and issue tracker. A payload can arrive with an app, come from a backend or be generated after a user asks an LLM for a feature.

The official Swift runtime SDK validates payloads and maps them to SwiftUI on Apple devices, while the Kotlin runtime SDK maps them to Jetpack Compose on Android. The project's official FAQ says the Swift runtime requires iOS 18 or later and the Kotlin runtime supports Android 7.0, or API level 24, and later. The project's homepage links open-source iOS and Android example apps with the runtime integrated.

That makes the project narrower than an AI app builder and more ambitious than a layout file. StemJSON is designed to insert or replace modules inside an existing application. Krychun points to settings, onboarding and content feeds as practical candidates, alongside complete server-delivered flows containing their own state changes, navigation and network operations.

The most distinctive use case is what Krychun calls a "Stem AI Area." An app developer defines a sandbox, a user describes the feature they want, and an LLM emits a StemJSON module for the runtime to render. Krychun says this can happen without downloading a new binary or making a separate backend request for the interface. The homepage labels the concept "patent pending," although it does not identify a patent application.

Krychun's design starts with state, events and declared actions. Under the component specification, buttons trigger onTap events, actions perform state changes and side effects, and chained actions proceed through success or failure outputs. Conditional components handle branching. The host application validates each module before rendering it, giving developers a place to reject malformed output instead of treating generated JSON as trusted application code.

The host app still owns the risk

Schema validation cannot determine everything an external service or model will do after a permitted request is made. A module that calls an approved API may be structurally valid while still receiving unpredictable data. Production teams will need monitoring, privacy review and testing around any generated workflow that touches accounts, payments, health data or other sensitive systems.

App-store review remains an open implementation question for any architecture that delivers new behavior after an app has shipped. The supplied material does not establish how Apple or Google would classify every StemJSON implementation. Developers would still need to validate their architecture against the stores' current review and security requirements.

An open language with a commercial runtime

Krychun has separated the language from his business model. The StemJSON specification license uses the Open Web Foundation Agreement 1.0 and permits third parties to build compatible parsers, validators and runtimes. The project licenses its official iOS and Android runtime distributions separately.

The project offers a free runtime tier with no time limit. StemJSON's FAQ says the Free tier displays a "Powered by StemJSON" watermark, while Pro removes it and covers one product across iOS and Android. Developers must contact the project for a Pro license. The arrangement keeps the format implementable by others while charging for the project's maintained route into SwiftUI and Jetpack Compose.

The split also creates an opening for a competing implementation if developers want source access or different licensing. StemJSON's official runtimes provide the platform mappings and integration work needed to use the language in native apps, so Krychun is betting that convenience and ongoing compatibility will carry more weight than control of the specification.

Google's A2UI is a related open format for agent-generated interfaces. StemJSON's specification also encompasses state, actions, navigation and data access, with dedicated runtimes for SwiftUI and Jetpack Compose.

The surrounding tooling remains an early proof point. StemJSON's StemStudio AI offers a browser-based environment for trying the format. The project has not disclosed customer numbers, production deployments, funding or other adoption measures.

Reader comments

Conversation for this story loads after sign-in.