Runtime interpreter
A page is data (app.json), not code. The DynamicRenderer turns a validated app.json into live DataTables, forms, charts, and dashboards against OData — edit the JSON, refresh, it changed. No rebuild.
Define an app as JSON, render it live, generate it from English, and automate it with governed workflows — including browser-local AI edits that never leave the device.
English ──▶ app.json (validated by @schemence/core)
│
├─▶ DynamicRenderer ──▶ live UIKit screens against OData
├─▶ Engine API ──▶ multi-tenant store + versioning + encrypted vault
├─▶ Workflow engine ──▶ detect change → run actions → approve → resume
└─▶ Governed agent ──▶ tool calls gated: read runs, write needs approval, all auditedTwo products. This is the platform (Product 2). It's built on the UIKit library (Product 1,
@schemence/uikit) — the components + OData layer it renders. See the library's own docs for components, theming, and the CLI.