A SaaS dashboard is the screen users see first, every day, for the lifetime of their subscription. The decisions baked into its layout outlast feature roadmaps, design system rewrites, and most of the company's strategy pivots. Good dashboard design is not about being beautiful in a portfolio screenshot; it's about being usable on day 1, day 365, and day 1,825. This guide covers the patterns that make that possible.
Start With the Job, Not the Data
The most common dashboard mistake is starting with "what data do we have?" instead of "what is the user trying to do?"
Every dashboard exists to support a primary job. Stripe's dashboard supports "monitor revenue health and resolve payment issues." Linear's dashboard supports "see what needs my attention today." Datadog's dashboard supports "understand what changed in my system." If you can't write one sentence describing the job your dashboard exists for, the layout will sprawl.
Anchor on the job. Everything else — metrics, navigation, density — flows from that.
For broader UX foundations, see our UX Research Methods guide.
The Information Hierarchy
Dashboards live or die on hierarchy. A useful default structure:
Top of page: Status at a glance
3–5 critical metrics that answer "is everything okay?" Big numbers, color-coded deltas, no charts that require interpretation. The user should see this band in 2 seconds and know whether to dig deeper.
Middle: Trends and context
Charts and tables that explain what's happening over time. This is where the user lingers if the top band shows a problem.
Bottom: Actionable items
Open tasks, pending approvals, things that need user attention. Below the fold is acceptable here — users scroll to action items deliberately, not by accident.
This top-to-bottom flow respects how users actually scan dashboards: glance at the top, decide whether to engage, scroll if engaged.
Navigation Patterns
Persistent left sidebar
The dominant pattern for SaaS dashboards. Predictable, accessible, allows nested navigation. Works well for products with 5–15 top-level sections. Above 15 sections, the sidebar becomes a wall and needs grouping or a different model.
Top navigation
Works for simpler products (3–6 sections) and content-heavy products where horizontal space matters. Becomes cramped on mobile and gets pushed to a hamburger menu the user resents.
Command palette (Cmd+K)
Increasingly standard as a secondary navigation pattern. Power users navigate by keyboard; mouse users still get the sidebar. The command palette also enables actions ("create new invoice," "switch workspace") which sidebars can't.
Breadcrumbs
Essential for deep hierarchies (project → folder → file). Optional for shallow products. The hidden value: breadcrumbs are an accessible way to back up one level.
Data Density: Sparse vs Dense
Two design philosophies, both valid for different products:
Sparse dashboards (Stripe, Linear)
Generous whitespace, large typography, one or two metrics per row. Optimized for clarity, mobile, and casual viewing. Best for products where users glance briefly and dig in only when something looks wrong.
Dense dashboards (Bloomberg, Datadog, AWS Console)
Lots of data per square inch, smaller typography, charts adjacent to charts. Optimized for power users who spend hours in the product and want to see everything at once. Best for products where the user's job is to monitor many things simultaneously.
Pick based on actual user behavior. Designers tend to default to sparse because it photographs well. Operators tend to want dense because it loads less of their working memory.
Empty States
Empty states are the most overlooked dashboard surface and the highest-leverage place to improve activation.
The first-visit empty state
The user just signed up. They see your dashboard for the first time. Don't show them a sterile "no data yet" screen. Show them:
- What this dashboard will look like once it's populated (a screenshot or mockup with sample data)
- The 1–3 specific actions that will populate it
- An estimated time-to-value ("connect your Stripe account — takes 2 minutes")
The persistent empty state
An existing customer's section that has no data for a real reason — they don't use that feature, or there's no activity this week. Different solve: explain what the section is for, link to the docs, suggest related sections that have data.
For more on activation UX, see our User Onboarding Design Guide.
Filtering and Time Ranges
Almost every dashboard needs filters. The patterns that work:
Time range selector at the top right
Pre-set ranges (Today, Last 7 days, Last 30 days, Last quarter, Custom). One control that applies to all charts on the page. Persistent across sessions so users don't reset to "Today" every visit.
Inline filters per chart
Use sparingly. When a chart needs filters distinct from the page-level filters, the filters should be visually attached to the chart, not floating.
Filter pills
When users apply multiple filters, render the active filters as removable pills at the top. Makes the current view explicit and easy to modify.
Real-Time vs Cached Data
Users assume dashboards show "now." Anything older than 30 seconds without explanation feels broken.
Practical approach:
- Show "Last updated: 2 minutes ago" prominently for any data that isn't real-time
- Add a manual refresh button next to the timestamp
- Use polling or websockets for the truly-real-time metrics (active users, current revenue, queue depth)
- Accept stale data with clear labeling for expensive aggregations
Mobile Dashboards
Most SaaS dashboards are still desktop-first, but mobile usage is rising. The patterns that translate:
- Top-band status metrics work well on mobile — they stack vertically
- Charts often need a separate mobile view (simplified, single-metric)
- Tables generally don't work — convert to a card list
- Sidebar navigation collapses to a bottom tab bar or hamburger menu
- Touch targets need to be 44pt minimum — dense dashboards fail this
For deeper mobile UX guidance, see our Mobile UX Design Principles.
Personalization vs Standardization
Should users be able to customize their dashboard? The honest answer is "almost never — until your product is mature."
Early-stage SaaS products should ship a single opinionated dashboard. Customization is expensive to build, hard to support, and typically used by a small fraction of power users. Use analytics to find the metrics most users care about and put those front and center.
Mature products with diverse user personas (a marketing dashboard vs a finance dashboard at the same company) do benefit from customizable layouts — but typically as a saved-view feature rather than an open canvas.
Frequently Asked Questions
How many metrics belong on a dashboard?
For the primary view, 3–7 KPIs. More than 7 forces users to scan; fewer than 3 doesn't tell a complete story. Secondary dashboards (drill-downs, reports) can hold more.
Should we use red/yellow/green status indicators?
Yes, but with care. Color alone doesn't meet accessibility standards — pair color with an icon (check, warning, cross) and a label. Test with color-blind users.
Charts or numbers?
Numbers for the top band (status at a glance). Charts for the middle band (trends and context). Both have their place; don't replace numbers with charts where a number is faster to scan.
How often should we redesign the dashboard?
The home dashboard should change every 12–18 months at most. Users build muscle memory; redesigning more often costs more in user disruption than it gains in fresh feedback. Iterate at the component level (a better chart, a clearer empty state) more frequently.
Related Reading
- Design System Benefits
- Mobile UX Design Principles
- Micro-Interactions in UX Design
- User Onboarding Design Guide
Designing a SaaS dashboard?
We design and build SaaS dashboards from first wireframe to production code — with hierarchy, density, and the decisions that hold up over years of product growth.
Design My Dashboard