- A React interface, built with the Oxygen SDK, that queries metrics, runs agents, and embeds chat with a few hooks and drop-in components.
- Oxygen Functions, server-side TypeScript that ships with the app for work the browser shouldn’t do, triggered by users, schedules, or verified webhooks.
- Its own data: facts appended to Airhouse, editable records in Postgres, and files in app storage.
Every custom app reads the same World Model and writes its own data back into the platform, so a metric means the same thing in every app, agent, and dashboard.
Why it matters
- Built on the World Model. Apps inherit the business model rather than rebuilding it: the same metric definitions, the drivers behind each metric, and the agents that explain them. The World Model interface for apps is in preview.
- Real applications, not just dashboards. Apps record what happens in the business, from completed checklists to bookings and uploaded files, and that data becomes part of what the World Model can measure.
- Secure by default. There is no API key in an app: access rides on the viewer’s Oxygen session and is scoped to project membership, each function can do only what it declares, and every webhook is verified before it runs.
- One step to ship. Interface and functions are versioned and published together, and appear to the team on the Oxygen home page.
Where it fits
Custom apps are the top layer of Oxygen. Data Infrastructure gets data in, the World Model defines what it means, and apps and agents put it to work. Because apps write their facts into Airhouse, the work done in an app feeds the same metrics that measure it.Build with the SDK
Scaffold, query, and publish a React app
Oxygen Functions
Server-side handlers, data stores, and capabilities
World Model interface
Navigate, explain, and size metrics from an app