Operational dashboard template
Real-time KPI grid with alerting, role-based views, and a drill-down pattern that survives past month one.
What is in the box
- Four-panel layout: headline KPIs, primary view, supporting view, alert rail
- Role-based access wired through Supabase row-level security
- Real-time refresh on alerts and in-flight counts, cached aggregates
- Recharts visualizations with the Strativra design token wrapper
- Empty, loading, and error states for every panel
- CSV export from any panel without leaving the page
An operational dashboard template is only as good as the layout decisions it ships with. Most starter dashboards give you twelve panels and a blank slate. This one gives you four panels, an opinionated layout, and the alerting logic we use on every client build.
The template ships with the exact pattern from Building dashboards people actually open. Headline KPIs at the top, one primary view at half the screen, a secondary view, and an activity rail down the right.
What is wired by default
The dashboard renders against a Supabase project with seed data so you can clone, run, and see real numbers in under five minutes. Auth is wired with email and Google sign-in. Row-level security restricts each role to the metrics they should see.
Every panel ships with three states: loading, empty, and error. That sounds basic. It is also the difference between a dashboard your operator trusts and a dashboard that shows a half-broken spinner at 9am.
What you change to make it yours
Three files:
- schema.sql to map your real tables.
- panels/config.ts to point each panel at your queries.
- theme.css if you want to drift off the Strativra design tokens.
Everything else stays. The layout, the refresh logic, the alert rules, the role plumbing. Those are the parts you do not want to rewrite, and they are the parts most starter dashboards force you to.
When this template is wrong for you
If you need a board-deck-style dashboard with monthly snapshots and PDF export, this is the wrong starter. That is an analytics dashboard, not an operational one, and the optimization points are different. Use a BI tool instead.
If you need a per-customer embedded dashboard, the auth model in this template is internal-only by default. You can swap it, but it is more work than starting from a multi-tenant template.
For everything else, internal ops teams, revenue ops, finance ops, support ops, this is the starter we ship from on real client work.
How to get the template
We share the template with teams that book a discovery call. The thirty-minute call is where we figure out whether this is the right starter for your specific build and which parts you will replace.
Book a discovery call and we will share the template along with the brief template we use to scope the build around it.
Included with the template
- TanStack Start project with file-based routes
- Supabase schema with seed data and RLS policies
- Auth scaffolding (email + Google OAuth)
- Five reusable panel components
- Notes on the four-screen rule and when to break it
Frequently asked questions
Can I use this without a Supabase project?+
Yes, the data layer is abstracted. You can wire it to any Postgres or REST API by swapping the queries in panels/config.ts. Auth stays Supabase by default because rebuilding role-based access is rarely worth it.
Does this support multi-tenant?+
Not by default. The template is built for internal use by a single organization. Multi-tenant requires a different RLS shape and tenant-scoped queries. We can adapt it for you on a paid project.
What does the dashboard look like under load?+
Tested to a few hundred concurrent operators on a Supabase Pro project with normal indexes. Beyond that you usually want a read replica for the aggregates, which is a one-line config change.
More templates
Got an idea? We can ship it next week.
30-minute discovery call. We tell you what's possible, what it costs, and when it ships.