Open Data·Open Metrics
Open Data Waterloo Region · Note

Real-Time Dashboard: When Live Data Is Worth It and When It Is Just Expensive

July 24, 2026 · Uncategorized

A real-time dashboard is the feature everyone requests and few people need. It looks serious. Numbers ticking up live, charts nudging themselves without a refresh, a faint sense that you are in mission control. The trouble is that “real-time” is a promise you pay for continuously, and most of the numbers on most boards do not change fast enough to notice.

So before building one, ask the only question that matters: would a human do something different in the next five minutes because of a number that just moved. If yes, live data earns its keep. If the honest answer is “we would look at it tomorrow anyway,” you are buying a stopwatch to check a calendar.

When live data is worth it

Real-time pays off wherever a fast reaction changes the outcome. A support queue during a product launch. Fraud flags on a payments system. Server health during a traffic spike. Live event attendance you are still selling tickets to. In each of these, a five-minute-old number can cost real money, so the freshness is not vanity, it is the whole value.

These are almost always operational dashboards, watched by people mid-task. You will rarely see a genuine real-time need on an executive dashboard, because strategy does not turn on a number that changed since breakfast. If someone asks for a live revenue ticker on the leadership board, they want the feeling of real-time, not the function.

What latency actually means

“Real-time” is a spectrum, not a switch. Almost nothing is truly instant. What you actually choose is a latency budget, the acceptable gap between something happening and the dashboard showing it. A few honest tiers:

Most requests for “real-time” are satisfied by near real-time at a fraction of the cost. Pick the loosest tier that still lets the reader act in time, and you save yourself a lot of engineering and a lot of database bills.

How to build one that does not melt your database

The naive version, every open dashboard hammering the production database every few seconds, is how you take down the thing you are trying to measure. Do not query the source live. Put a layer in between. Pre-aggregate the numbers on a schedule into a small, fast table the dashboard reads, so a hundred viewers cost one query, not a hundred.

Push, do not poll, where you can. Rather than the browser asking “anything new?” every two seconds, let the server send an update when something actually changes. Fewer requests, fresher data, calmer servers. And cache aggressively for the numbers that only look live but really update on a timer.

Last thing, and it is the one people skip: show the reader how fresh the data is. A small “updated 12 seconds ago” line does more for trust than a spinning icon, because it turns an invisible assumption into a visible fact. A real-time dashboard that hides its own latency is just a normal dashboard wearing a costume.

For everything these boards share with slower ones, the pillar on dashboard design is the foundation, and the dashboard widgets guide covers the live tiles you will reach for most.

← All community notes