Radar · dashboards

Dashboards assembled
from answers, not tickets.

Ask a question in the Reactor, pin the chart. Or write the SQL yourself. Radar turns either into a live tile on a dashboard that filters together, refreshes on its own, alerts a human when a number crosses a line, and can be published as an immutable, versioned view.

Pin from the Reactor6 data sourcesShared time rangeAlerts → InboxPublish & lock
quadrazene.app/radar/service-health
quadrazene v0.2.16
Quadrazene
ReactorReactionsReagentsRecipesRefineriesRegulationsResolverRecordsInbox
⌘K
Service healthLast 6 hours · now-6h → nowregion: eu-west ✕+ Add filter⟳ 1m
Requests / s
4,812
p95 latency
184 ms
Error rate
0.42%
Disk used
78%
Requests per second
line ▾ · Interpret · Refresh
Errors by service
checkout
search
auth
catalog

Illustrative layout. Every tile carries its own chart-type picker, a View SQL panel, an Interpret readout and a per-tile refresh.

From a question to a tile

Three ways to put a number on the wall.

Every tile keeps a link to where it came from, so a dashboard is never a dead end.

Pin from the Reactor

Any chart in a Reactor answer pins to a dashboard with one click. A back-badge on the tile keeps the link to the answer it came from.

Ask in plain language

AI

Describe the tile in the Add Tile dialog and the platform writes the query. Reuse a chart an earlier answer produced from the history tab.

Write raw SQL

A Raw SQL tab for the people who already know what they want. It never needs a model, so it stays available on tenants with AI switched off.

Live chart-type picker

11 types

Switch a tile between a curated set of interchangeable chart types straight from its header. Authors choose which types a tile offers.

Free-resize grid

A 12-column grid with continuous height. Size tiles to their content instead of snapping to a two-column lock, and choose where each tile’s readout sits: rail, footer or drawer.

KPI strip

Headline numbers sit above the charts as KPI tiles and gauges, so the figure that matters is the first thing read.

Filters that behave like BI

Filter once. Every tile answers.

Filtering is a framework, not a per-chart afterthought. Tiles that don't carry the column simply ignore it.

One shared time range

Relative expressions like now-6h or now/d, resolved at request time so a rolling window keeps moving. Drag across a time axis to zoom every tile at once.

Pinned dimension filters

Authors pin the fields worth filtering on, auto-detected from the tiles' own axes. Scope a filter to every tile that uses the column, or exclude individual tiles.

Associative gray-out

Open a filter list and values with no data under the other active filters are struck through, so nobody picks a combination that returns nothing.

Click to cross-filter

Click or drag-select on a chart to filter the rest. A count-and-share popover offers quick actions before anything is applied.

Parameterized drill-down

Published tiles run from an immutable source query rewritten into safe named parameters. Values are bound, never concatenated into the SQL.

Saved views

Save the current filters and time range as a named view, per person and per dashboard, and return to it in one click.

Any source, one dashboard

Warehouses, databases and metrics side by side.

Tiles bind to a governed Connection. Each refresh runs under the viewer's own permissions and fails closed.

PostgreSQL
Native, parameterized
MySQL
Native, parameterized
Databricks
SQL Statement API
Snowflake
SQL API, key-pair auth
BigQuery
Service-account auth
Prometheus
PromQL range queries

The Prometheus connector is generic: which PromQL a tile runs comes from the tile and its Connection, so the same mechanism serves any metrics endpoint. Cross-filters and the shared time range apply to metric tiles the same way they do to SQL.

Alive, not stale

Refresh that repaints only what changed.

Surgical refresh

A refresh patches just the tile whose data changed. The other charts on the dashboard are not redrawn.

The fuse pill

One compact control replaces the refresh button, countdown and interval menu. Its border burns down toward the next refresh and fills as a pass runs, with a bead per tile.

Keep the last good data

If a refresh errors, the tile keeps its last good snapshot and shows the failure, instead of blanking a wall of charts.

Tenant-set defaults

Default interval, refresh-on-open, default time range and refresh concurrency are tenant settings. Ship sensible defaults and let each tenant tune them.

Scheduled refresh

A published dashboard can refresh on a schedule as its owner, so the snapshot is fresh before anyone opens it.

Interpret

AI

Ask for a readout of any chart. The interpretation is governed like every other LLM call, and counts against the monthly AI cap of the Refinery it runs under.

Numbers that do something

Alerts, sharing, reports, and a locked published state.

Threshold alerts

Attach a rule to a tile: aggregate a column, compare to a threshold. A breach raises a deduplicated Action Item in the Inbox and can auto-start a Chain.

Share with people and groups

Grant a user or a group access to a dashboard. Sharing is a general mechanism, not a Radar special case.

Reports

Export the whole dashboard as a PDF, or any tile as CSV or Excel.

Publish and lock

A published dashboard rejects structural edits and rolls a version number. Revert to draft to change it, publish to lock it again.

Audited

Share, refresh and alert events land in the hash-chained audit ledger like any other governed action.

Bundle it

Dashboards travel inside signed Reagent bundles, with their data sources bound at import time.

Build a dashboard from a question.

Bring a warehouse or a metrics endpoint and we'll wire a live dashboard with you in the session.