OBSERVE
See your operation move.
Build dashboards over your own data with no code: 27 chart kinds, live by default, and the same governed surface an agent operates. What you watch is what is happening, in place.
NO-CODE BUILDER
Pick a widget. Configure it in a drawer. Watch it land.
Browse a visual gallery of chart kinds, drop one onto the grid, and configure it in a side drawer as a live preview redraws. Set a refresh interval and it keeps itself current, with no build step and no redeploy.
A gallery, not a spec sheet
Browse chart kinds by data shape and drop one onto the grid. Configuration is a drawer, not a config file.
Three ways to feed a widget
A GraphQL function, a read-only sanitized SQL query, or a structured visual builder. Pick the one that fits the question.
Every query stays fenced
SQL runs read-only behind a layered defense and is auto-scoped to the tenant. You cannot query your way out of your own data.
27 chart kinds. 12-layer query defense.
LIVE BY DEFAULT
Not a snapshot. The current state.
Every dashboard carries a time range, variables, and auto-refresh, per board and per cell. Change the range and every widget re-queries. Drop a catalogue in as a widget and the grid you already publish becomes a live panel.
- Time range and variables scope the whole board at once.
- Auto-refresh keeps panels current without a reload.
- Embed any catalogue as a widget: the same grid, now live.
WORKSPACES
Many boards, one workspace.
Open dashboards as tabs, rearrange them per person over a shared admin default, and drop into theater mode for the wall screen.
Multi-tab workspace
Dock dashboards side by side and switch between them like editor tabs.
Yours over the shared default
Admins set a baseline layout; each person tweaks their own without disturbing anyone else.
Theater mode
Full-bleed, chrome-hidden rendering for the situation-room wall screen.
SAFE BY CONSTRUCTION
A dashboard can only ever see your own data.
Every query (GraphQL function, SQL, or visual builder) is automatically scoped to the tenant and runs on read-only rails. Building a chart cannot become a way out of your isolation boundary.
- Tenant-scoped
- Isolation is applied at the database layer, not in the widget.
- Read-only
- Dashboard queries can read; they can never write.
- Layered defense
- Sanitized SQL passes a 12-layer check before it runs.
SEE IT LIVE
Point a dashboard at your data and watch it move.
Model a screen, drop in a widget, and the same board is ready for a human to read and an agent to operate, governed the whole way.