Fix dashboard empty states before you add another chart

Dashboards look finished in demos because seed data fills every widget. In production, new accounts stare at blank grids. Brent Haskins ships broker and training dashboards with empty states that teach the next action—not another chart type.

The screenshot that sells your SaaS almost never exists on day one for real customers.

I have built operational UIs for RallyLeads brokers, Smart Mortgage Training managers, and other B2B products where “dashboard” means “do my job here.” The expensive mistake is shipping twelve chart types before the zero-data experience works.

Empty is a state, not a bug

New workspace, no leads yet, no learners invited, filters that exclude everything—each needs different copy and CTA. “No data” is lazy. “Publish your site to start capturing leads” is product.

Role-aware defaults

Loan officers, office managers, and admins care about different numbers. Default the view to the role that logs in most, and let power users pin columns—not the reverse.

Tables before exotic viz

Brokers need leads with status, tags, notes, export. Training admins need completion and tool usage. A sortable table with bulk actions often beats a donut chart nobody clicks.

AI panels that survive review

If you add AI summaries, tie them to rows and timestamps users can open. Refuse when context is thin. NIST-style risk thinking applies: who is harmed when the summary is wrong?

For mortgage training, keep curriculum-bound AI off executive dashboards until accuracy is measured on real questions.

Performance still matters

Empty states do not excuse loading ten APIs on mount. Fetch what the first paint needs; lazy-load secondary widgets. NN/g empty-state guidance pairs with honest loading copy— not spinners that never end because five requests hang.

Related work

Brent Haskins — product engineer shipping dense UIs that still work on Tuesday morning with zero rows. More: /blog.

Questions people ask about this topic.

What should an empty SaaS dashboard tell the user?

Name why data is missing, give one primary action, and show a realistic preview or checklist—not a gray box. Distinguish zero because the account is new from zero because filters are too tight. Broker dashboards should route to publish site or connect webhook; training dashboards should route to assign a course or invite a learner.

Where does AI belong on operational dashboards?

Use AI on discrete tasks with sources—summarize a lead thread, explain a drop in module completion—not a sidebar that guesses trends from noise. Require citations or links back to rows users can verify. If the model cannot see the data, disable the panel instead of hallucinating a trend line.

Referenced sources