Open source · A2UI v0.9 · Apache-2.0

Generative UI,
native on every platform.

An agent sends A2UI JSON. Exponential UI paints it natively on web, iOS, Android and desktop, in your theme.

Press Send: the answer arrives as A2UI messages and the React renderer paints them as they land.
Pre-recorded replay · 13 messages
The release surface rendered by the SwiftUI renderer on iOS
iOS SwiftUI
The release surface rendered by the Compose renderer on Android
Android Compose
The release surface rendered by the gpui renderer on Desktop
Desktop gpui
What generative UI is

The model decides what to show. The platform decides how it looks.

A2UI: UI as data, never code. The client renders it with its own components.

  1. 01

    The agent writes A2UI

    A flat list of components, a data model and the actions it wants back. The catalog prompt teaches all 70 components in ~6.2k tokens.

  2. 02

    Your host routes it

    Messages in over JSONL, SSE, WebSocket or MCP; data sources bound; only the functions your policy allows run; actions go back.

  3. 03

    A renderer paints it natively

    React, SwiftUI, Compose or gpui, with the platform's own views, in your theme, from one shared layout.

Packages

One ui-v* tag publishes all of them at one version. Nothing is published yet: install from the repository as each guide shows.

PackageRegistryWhatUntil it is published
@exponential-at/uinpmThe catalog, themes, TypeScript reducer, host API and conformance suite.bun samples/exponential-ui/pack-local.ts packs the tarball
@exponential-at/ui-reactnpmThe React renderer.the same tarballs, installed with npm
exponential-uicrates.ioThe Rust core: reducer, themes, taffy layout, layers, lists.a path or git dependency on the repo
exponential-ui-ffibundledThe UniFFI facade. It ships inside the Swift and Kotlin artifacts, so you never install it on its own.built by build-ios.sh / build-android.sh
exponential-ui-gpuicrates.io (later)The gpui painter. It stays a git dependency until gpui itself is on crates.io.a path or git dependency on the repo
ExponentialUISwiftPMThe SwiftUI painter (iOS 17, macOS 14), from github.com/Niach/exponential-ui-swift.the package by path, after build-ios.sh
at.exponential:ui-composeMaven CentralThe Compose painter (minSdk 26), with ui-compose-primitives.publishToMavenLocal, then mavenLocal()
Release statusEvery artifact builds and stages today; each registry goes live with its account (@exponential-at on npm, the crate name, Niach/exponential-ui-swift, the at.exponential Maven namespace). Release runbook

Exponential runs on it

Exponential is a host like any other: its issue rows, run rows and chips are the first extension catalog; its Devices screen is a template package the web app and the desktop IDE both render.