FAQ

Frequently asked questions

Answers across the spec, the runtime, pricing, licensing, and contact. Scan the section that's relevant.

StemJSON

What is StemJSON?
StemJSON is an open, declarative JSON specification for describing native mobile UI - components, state, actions, navigation, data binding, styling. A conformant runtime parses, validates, and renders StemJSON as native UI on the device.
Who is it for?
Engineers building server-driven UI, AI-generated UI (LLMs that need to emit native mobile screens), or rapid prototyping pipelines. The format is also designed to be the contract between backends, LLMs, and native apps.
Is the specification open?
Yes. The StemJSON v1.1 specification is published under the Open Web Foundation Agreement 1.0 (OWFa 1.0). Anyone can implement a conformant runtime in any language for any platform. The full text is on the /license/ page.
How do I read the spec?
The full navigable specification is at /spec/v1-1/introduction/. For LLM authoring, use the prompt-ready LLM Reference - same normative content, condensed for AI prompt context.

StemRuntime SDK

What runtimes are available today?
Two: iOS (Swift, via Swift Package Manager) and Android (Kotlin, as a Jetpack Compose AAR). The specification is platform-neutral; conformant runtimes can be built in any language.
What are the requirements?
iOS 18+ for the Swift runtime. Android 7+ (API 24) with Jetpack Compose for the Kotlin runtime. Each repo documents its full requirements. The StemJSON specification itself is platform-neutral and has none.
Can I evaluate the runtime before committing?
Yes. The Free tier is fully functional - modules render with a small "Powered by StemJSON" watermark. Email me for a time-limited evaluation license that removes the watermark in the builds before you commit to Pro.

Pricing

What counts as one app?
One product, identified by its iOS bundleId and/or Android packageName. The same product on iOS and Android - even with slightly different IDs - is one app, one Pro license, both platforms included. Two separately-branded apps from the same developer are two licenses.
What does the watermark look like?
The Free tier renders a small, unobtrusive "Powered by StemJSON" attribution at the bottom of any view rendered by the runtime. Visible but not disruptive - small caption text, neutral color.
What happens when my Pro year ends?
Existing builds keep working - there is no kill-switch, no online check at runtime. When you renew - you need to republish build with new license key and the watermark stays invisible. If you don't - watermark will appear again. Renewals are annual
Can I switch tiers at any time?
Yes. Free → Pro: contact me at the email below and I'll send a license confirmation; you flip a runtime configuration flag in your app. Pro → Enterprise: same path, with a contract tailored to scope.

Licensing

What licenses apply to the project?
Two separate licenses: the StemJSON v1.1 specification is under Open Web Foundation Agreement 1.0; the StemRuntime SDK ships under a proprietary End-User License Agreement - same terms for iOS and Android binaries. They cover different things: the spec text vs. the runtime distributions.
Can I implement my own StemJSON runtime?
Yes. The specification is published under OWFa 1.0 specifically to make this possible without permission. The OWFa license doesn't grant rights to the StemJSON™ name. Conformance with the spec is what matters; descriptive use like "StemJSON-compatible" is fine.
Can I build a commercial app with the Free runtime?
Yes, with the watermark visible per the EULA. The Pro license is what removes the watermark and confirms commercial-use rights for your specific iOS bundleId and/or Android packageName.

Contact

How do I get in touch?
Drop me a line at vkrychun@stemjson.com - partnerships, licensing, anything else, or to grab a beer :)