Building dashboards

Arrange charts into a dashboard, lay it out, and keep it fast.

A dashboard is an arrangement of charts that share filters and a refresh cycle. Dashboards live inside projects, so access follows the project.

Create one

Open a project and click New → Dashboard

Name it for the question it answers — “Weekly dealer performance” beats “Dashboard 2”.

Add charts

Add existing charts from the project, or create new ones inline. A chart can appear on several dashboards; it is referenced, not copied, so editing it updates every dashboard using it.

Arrange the grid

Drag to move, drag an edge to resize. The grid is 12 columns wide and snaps as you drag.

Add filters

Filters apply to every chart bound to the same dataset — see Filters.

Publish

Draft dashboards are visible only to you. Publishing makes them visible to project members according to their role.

Layout

Element Purpose
Row Horizontal band; charts within it share a height
Chart tile 1–12 columns wide
Text tile Markdown — headings, context, caveats
Metric tile A single number with an optional comparison
Divider A labelled section break

Put the number first

Open with metric tiles answering the headline question, then the charts explaining it. Most readers never scroll past the first row.

Dashboards are responsive: on narrow screens tiles stack in reading order — left to right, top to bottom.

Refresh

A dashboard refreshes when its datasets do. The header shows the oldest data on the page, which is the only honest summary when tiles have different schedules.

Mode Behaviour
On load Re-queries live-query datasets when opened
Scheduled Follows each dataset’s own schedule
Manual Only on Refresh
Auto (30s–15m) Polls continuously — for wall displays

Auto-refresh multiplies query load

A 30-second refresh on a dashboard with eight live-query tiles is 960 queries an hour against your database. Use scheduled datasets for anything on a wall screen.

Performance

Slow dashboards are almost always slow datasets.

One tile is slow

That chart’s dataset is on live query against a slow source. Switch it to scheduled, or narrow the dataset with a filtered view.

Everything is slow

Too many live-query tiles. The dashboard header shows per-tile query times under ⋮ → Timing.

Slow only for some people

They are seeing a different filter state — a wide date range re-queries far more rows. Set a sensible default range.

Slow after a source change

Check for schema drift. A dataset falling back to its last good sync can silently change the query plan.

Duplicating and templating

Duplicate copies the layout and filters while re-pointing every chart at new datasets you choose. This is how one dashboard becomes per-customer or per-region versions without rebuilding.

Duplicates diverge

A duplicate is independent from the moment it is created. Editing the original does not update it. For genuinely shared components, reuse the same chart across dashboards instead.