Composable
Dashboards
From pipeline to panel, from panel to grid — built exactly how your data works. No rigid templates, no locked-in layouts.
Four building blocks. One dashboard.
Each layer builds on the previous. Compose as much or as little as your data requires.
Chart Catalog
Browse registered visualization types. Every chart exposes a data-binding schema and preview payload — so you always know the shape of data it expects before wiring it up.
- Platform charts
- Org-scoped charts
- Project-only charts
Dataflow
Define a data pipeline as a graph. Sources pull from your configured data connections; script nodes run JavaScript transforms; the End node exposes the final output for panels to consume.
- Topological execution
- JavaScript transforms
- Draft / Active status
Panels
Wire a dataflow's output to one or more chart visualizations. Each visualization uses a binding script — a small JavaScript function that shapes your data into exactly what the chart expects.
- Multi-visualization panels
- Binding scripts
- Preview before publish
Dashboard
Arrange panels on a responsive grid. Drag and resize tiles freely while editing. Mark one dashboard as the project default. Add or remove panels without touching the underlying definitions.
- Drag-and-resize grid
- Default dashboard flag
- View vs edit mode
Built for how teams actually work.
Visual grid editor
Edit mode unlocks full grid interactions — move panels by dragging, resize by pulling handles, and save the layout when you're happy.
Multi-visualization panels
A single panel can contain multiple visualizations, each bound to a different chart type from the same dataflow output — bar, funnel, line, all in one tile.
JavaScript binding scripts
Write a small transform function that maps your dataflow output into the exact payload your chart's schema expects. Full JS runtime, no restrictions.
Scoped chart catalog
Charts live at three scope levels. Platform charts ship with Enspect; org charts are shared across your team's projects; project charts are yours alone.
Draft → Active lifecycle
Dataflows and panels carry a Draft / Active / Inactive status. Iterate in draft, publish when ready — dashboards only render active panels.
Default dashboard
Flag one dashboard per project as the default. Integrations and deep-links that reference 'the dashboard' always land here — no ambiguity.
The full stack, visualized.
No rigid templates. No locked-in layouts. Every dashboard is composed from the data up.
Ready to build?
Join the waitlist and be among the first teams to compose dashboards with full data sovereignty.