Skip to main content

Reference Architecture: SaaS Dashboard

Product forces

SaaS dashboards usually optimize for authenticated productivity, dense data, permissions, reliable mutations, and repeated daily use.

Architecture sketch

Default decisions

AreaDefault
renderingserver-rendered or static shell plus client-heavy authenticated workspace
stateserver state in query cache, URL state for filters, local state for panels
APIBFF or aggregation layer for dashboard-specific joins
permissionsroute guard plus action-level authorization checks from server
performanceroute budgets by workspace, virtualized lists, deferred charts
reliabilitypartial data states and per-widget degradation
observabilityroute, widget, API, permission, and mutation signals

Critical risks

  • Unbounded global state coupling across features.
  • Permission assumptions cached too broadly.
  • Data-heavy views without virtualization or pagination.
  • "One dashboard route" that becomes a product monolith.
  • Observability that cannot isolate widget/API failures.

Review checklist

  • Does each workspace route have an owner and rendering strategy?
  • Are filters and pagination encoded in URL where users expect shareability?
  • Can each widget fail independently?
  • Are permissions enforced server-side, not only hidden client-side?
  • Are data tables accessible by keyboard and screen reader users?

Exercises

  1. Draw a route inventory for a SaaS dashboard.
  2. Define the state ownership model for filters, selected rows, permissions, and user profile.
  3. Create a failure matrix for three widgets on one route.

Source lens

Pair this with the production SaaS dashboard capstone and the worked system-design answer.