Skip to main content
Version: 3.0

App Studio

Beta: build small apps on MaestroHub data by describing them to Maestro or to your own AI client, and run them sandboxed within each viewer's own permissions.

Status
Beta in release 3.0, a paid add-on
Deployment
Single binary; Enterprise as its own pod
Beta

App Studio is in release 3.0 as Beta: a paid add-on that no edition includes by default. A licence or a trial licence that includes the app_studio feature switches it on. The module is on by default, so the licence decides. Names and steps may change while it is in Beta.

App Studio lets people in your workspace build small React apps on top of MaestroHub's own data and APIs (live UNS values, connector functions, pipelines, dashboards) by describing what they need, either to the built-in builder (the Maestro AI Assistant, which is in release 3.0 as Beta, early access on request) or to their own AI client (Claude Desktop, Claude Code, Cursor or any MCP client) through MaestroHub's MCP server. An app's source is kept in a per-app git repository inside MaestroHub, compiled server-side, and served from a separate sandbox origin inside an iframe. An app declares what it may do in a manifest.json; at run time it acts with a short-lived app token that is the intersection of that manifest and the viewer's own permissions, so an app can never do more than the person (or paired display) looking at it.

Every version an app publishes is fixed once published and pinned to the SDK runtime it was built against. Sharing, ownership, audit and the kill switch use the same platform primitives as pipelines and dashboards. App Studio is licence-gated (app_studio); its module runs by default (modules.appstudio.enabled), so the licence decides; the Operator guide covers the single binary and Enterprise (Helm).

Without Maestro​

The built-in builder chat is Maestro, a separate Beta given on request. App Studio does not need it. Without Maestro, the builder opens on its Build with your AI client panel: your own MCP client (Claude Desktop, Claude Code, Cursor and others) changes the app through MaestroHub's MCP server while you watch the live preview. Everything else works the same: templates and showcase apps, the preview, versions and checkpoints, release review and publishing, sharing, kiosk displays, the Git mirror, backup and the Ops page. What needs Maestro: the builder chat inside MaestroHub, Build here on the New App page, and the builder spend shown on an app's Ops page. See Prompting apps and the Operator guide.

Who does what​

RoleWhat they doBuilt-in roles that fit
ViewerOpens published apps from Apps, or watches one on a paired kiosk display. Sees only what their own permissions allow.Apps.Viewer (app:read, app:run), Workspace.Display for a paired display, or a share grant on one app (shares need advanced_access_control)
BuilderCreates apps, works with the builder agent, validates, previews, publishes, shares, pushes to Git, watches the app's Ops page.Apps.Editor (build and iterate, no delete/share), Apps.Admin (full lifecycle incl. share, delete, backup)
OperatorEnables the module and licence, sets the sandbox domain, pairs displays, tunes fair-use limits, watches metrics and alerts, backs up and restores.Workspace.Admin (every app:* verb incl. app:backup), platform System.Admin for server configuration

Role names and the verbs they hold are in apps/backend/modules/authz/domain/builtin_roles/feature.go and persona.go; the Operator guide lists them.

Pages in this section​

  • Operator guide: enabling, sandbox domain, permissions, kiosk displays and device pairing, builder provider setup, fair use, operations, backup/restore, runtime versions, Enterprise status.
  • Builder guide: creating an app, the builder page, the manifest, what apps can and cannot do, the SDK in one screen, sharing, kiosk, Git mirror, Ops, runtime pins.
  • Templates catalogue: every starter template and the three showcase apps, with the "try one of these" prompt.
  • SDK reference: the generated @maestrohub/sdk, @maestrohub/app-ui and @maestrohub/scene reference.
  • SDK changelog: what changed in the SDK surface a new build compiles against, and what to change in an app.

Design documents live in the repository under docs/architecture/app-studio/ (REQUIREMENTS.md, ARCHITECTURE.md, DATA-SAFETY.md, SDK-VERSIONING.md, LOAD-TESTS.md, ENTERPRISE.md); the pages here point at them where the detail matters.