An AI dashboard, and the number that is missing from most of them
The difficult part of any dashboard is not drawing the charts but knowing how old the numbers are, because a figure with no read time cannot be acted on and a dashboard that hides a dead data source looks exactly like one that is working.
An AI dashboard is a dashboard a model built for you from a description. The charts are the easy half, and the half everyone judges it on.
Every figure has an age and most dashboards hide it
A price on a screen is a price from a moment. Without that moment shown, the reader supplies their own assumption, which is almost always that the number is current. Generated dashboards inherit this because the prompt says show the price and nobody says show when it was read, so the model does the thing it was asked.
The failure that looks like success
The source stops answering. The last value is still in memory, still on screen, still the right shape and colour. Nothing about the page changes. This is the worst failure a dashboard can have because it is indistinguishable from working, and it will stay indistinguishable for as long as nobody reloads and compares.
What to ask for instead
Say what should happen when the data is missing. A dashboard that renders an empty state and says the source did not answer is more useful than one that shows a stale figure confidently. Most models will do this correctly if asked, and almost none will do it if not, because a clean happy path is what the request described.
Refresh is a claim, not a setting
Polling every thirty seconds is a promise that the number is at most thirty seconds old, and it stops being true the moment a request fails silently. If you set an interval, also show the time of the last SUCCESSFUL read rather than the time of the last attempt. Those diverge exactly when it matters.
How to check one in ten seconds
Load it, note a figure, and cut the network. If the number stays and nothing on the page says anything, the dashboard cannot tell you the difference between a quiet market and a broken connection. The figures below this page carry the time they were read for the same reason.
Live, right now, on this page
| Market | Price | Funding | 24h volume |
|---|---|---|---|
| BTC | $79,690.50 | -0.0012% | $211,374,474 |
| ETH | $2,478.55 | 0.0013% | $107,454,596 |
| SOL | $103.37 | -0.0001% | $33,330,802 |
| HYPE | $85.35 | 0.0013% | $7,356,419 |
Read from a live market as this page rendered, through a public endpoint that needs no key. Read at 2026-09-05 20:16 UTC; accurate as of that time and not afterwards.
Describe something and watch it get built.
Open the builder, or start from a working app and change it.