One Screen With the Numbers, Instead of Six Exports and a Spreadsheet
We pull data out of the systems you already run, get it into a consistent shape, and put the handful of numbers that change decisions in front of the people who make them — with the right people seeing the right figures.
A Dashboard People Actually Open on Monday Morning
The layout below is a sketch of the shape we aim for: a few numbers that matter, the progress of the things in flight, and no chart that nobody can act on.
Why it is deliberately this small
A dashboard with forty charts is a dashboard nobody reads. The useful ones answer a short list of questions: are we keeping the promises we made to customers, where is work stuck, and is anything trending the wrong way. Everything else belongs a click deeper, in the detail view you open when one of those numbers looks wrong.
We also put the plumbing on the screen. The refresh time and the status of the last pipeline run sound like engineering trivia until the morning a source system fails silently and everyone spends a week making decisions on Tuesday's data without knowing it.
The internal tools these numbers come fromHow Data Gets From Six Systems Into One Number
People say ETL and everyone nods. Here is what it actually is, in four steps, with no acronym required.
1. Extract — copy it out
A scheduled job reads from each source: your CRM API, the accounting system, your online store, a warehouse export dropped on a server. Read-only, and gentle enough not to slow down the systems people are using.
2. Clean — make it agree with itself
Dates into one format, currencies into one currency, customers matched across systems, test rows and cancelled orders excluded. This is where most of the work is, and where the arguments about whose number is right get settled.
3. Model — write the definitions down
An active customer, a completed order, revenue for the month: each becomes one agreed definition in one place, in code, reviewable. Two departments quoting different figures is almost always two definitions, not two mistakes.
4. Serve — make it fast to look at
Results are stored ready to read, so a dashboard opens immediately instead of running six heavy queries while someone waits. Each run is logged, and a failure raises an alert rather than showing yesterday as though it were today.
Numbers That Change a Decision, Not Numbers That Fill a Screen
The test we apply to every proposed metric: if this moved, what would somebody do differently this week? No answer, no chart.
What we put on the dashboard
- Measures tied to a promise you made — delivered on time, answered within an hour, resolved the same day
- Leading indicators, which move before revenue does and give you time to react
- Work in progress and what is stuck, because that is where the action usually is
- A small number of exceptions listed by name, so the screen ends with something to do
- Comparison to last period, because a figure with no reference point tells nobody anything
What we argue against
- Totals that only ever go up — reassuring, occasionally flattering, never actionable
- Averages hiding the shape of the data, where a median and a worst case would tell the truth
- Vanity charts added because the screen looked empty in the corner
- Ratios nobody can define out loud, which quietly get ignored within a month
- Anything measured because it is easy to collect rather than because it matters
We run a short workshop to agree these definitions before building. It is usually the most valuable hour of the project, and occasionally an uncomfortable one.
Real-Time Costs Real Money. Pick Deliberately.
How fresh the data needs to be is an engineering decision with a monthly invoice attached. Most teams need far less than they first ask for.
Overnight
One run while everyone sleeps. Cheapest to build and to operate, easy to re-run when a source fails, and completely sufficient for anything reviewed weekly or monthly. This is the right default, and most dashboards should start here.
Hourly or every few minutes
The sensible middle. Only the changed rows are copied each run, so the cost stays modest. Right for operations teams who want to see today as it develops without needing the last sixty seconds.
Streaming, near real-time
Events flow continuously and the number updates in seconds. It is a different architecture with more moving parts, more to monitor and a meaningfully larger bill. Worth it for a live operations board, dispatch, fraud checks or a connected-device fleet — and rarely for anything a manager reviews on Friday.

Not Everyone Should See Every Number
Reporting systems concentrate the most sensitive data in your business into one convenient place: salaries, margins, customer lists, pipeline. A dashboard is therefore a security design problem wearing a friendly chart, and it needs the same care as any other part of the product.
We enforce permissions in the query, not in the interface. A regional manager does not receive the national figures and have them hidden by a filter — the data never leaves the server. That distinction matters, because hidden-in-the-page numbers are reachable by anyone who is curious enough to look, and exports are how most accidental disclosures actually happen.
- Row-level rules: your region, your accounts, your team only
- Column rules, so an operations view can exclude cost and margin entirely
- Exports and scheduled emails obey exactly the same rules as the screen
- An access log, so you can see who pulled the customer list last quarter
When an Off-the-Shelf BI Tool Is the Right Answer
A custom dashboard is not automatically better than a licensed one. Here is where we would point you at a product instead of quoting for a build.
Your data is already in one or two places
If almost everything lives in one database or one platform with a supported connector, a BI tool will be reading it this afternoon. Paying anyone to rebuild that plumbing is money set on fire with extra steps.
Your team wants to explore, not just read
Analysts who build their own charts, slice things ad hoc and follow a hunch are far better served by a real BI product than by any fixed dashboard we would write. Custom screens answer known questions; exploration needs a tool.
Only a handful of people will ever look
At a small number of viewers, per-seat licensing is cheap and the maintenance is somebody else's. The economics flip only when the viewer count gets large or the licence includes people who read one number a week.
The logic does not fit in a chart builder
Allocation rules, contract-specific pricing, multi-step attribution, definitions with a dozen exceptions. Once the calculation needs real code, the tool becomes a wrapper around a custom pipeline you may as well own outright.
Your customers are the audience
Analytics inside your own product, under your brand, with each customer seeing only their own data. That is a product feature with real security requirements, not a reporting deployment, and embedding a BI tool rarely ends up cheaper or nicer.
Everyone in the company needs to see it
Wall boards, a screen on the warehouse floor, a figure on every internal homepage. When viewers number in the hundreds and mostly read one number, per-seat licensing stops making sense fairly quickly.
From First Conversation to a Screen People Trust
Agree the questions
We start from the decisions, not the data. Which choices are being made badly for lack of a number, and who makes them. Everything else follows from that list.
Audit the sources
What each system holds, how we read it, how trustworthy it is, and where the same entity is recorded differently. This is where surprises are cheapest to find.
Build the pipeline and definitions
Extract, clean, model, serve — with the definitions in version control and reconciled against a report your team already trusts, so the first meeting is not an argument.
Ship, watch, prune
Live with permissions and alerting from day one. After a month we look at what nobody opened and remove it, because a smaller dashboard is a more used dashboard.
Dashboard and Data Questions
Can you pull data from all of our systems?
Usually. Anything with an API or a database we can read directly. Systems with neither are handled with scheduled exports dropped into a folder, which is less elegant and perfectly reliable. The honest blocker is rarely the connection. It is that the same customer exists in three systems under three different identifiers, and deciding how to match them is a business decision rather than a technical one.
What is a data pipeline, in plain terms?
A scheduled job that copies data out of your systems, cleans it into a consistent shape, and writes it somewhere built for reporting. The dashboard then reads one tidy set of tables instead of querying six live systems every time somebody opens a page, which would be slow for the viewer and unwelcome to whoever runs those systems.
Do we need real-time data?
Almost never for management reporting, and you pay for it either way. An overnight refresh is cheap and sufficient for anything reviewed weekly. Hourly is a sensible middle ground. True streaming costs noticeably more to build and considerably more to run, and it only earns that when a person acts on the number within minutes, such as a live operations board or fraud monitoring.
Should we just buy a BI tool?
Often, yes, and we will say so. If your data already sits in one or two systems with good connectors, and your team is willing to build their own charts, an off-the-shelf tool is faster and cheaper than anything we would write. Custom earns its place when the numbers need logic no tool can express, when the dashboard is embedded in your own product for your customers, or when per-seat licensing across many viewers outgrows the cost of building once.
Who gets to see which numbers?
You decide, by role and often row by row. A regional manager sees their region, a finance lead sees margin, an account manager sees only their own accounts. We enforce that in the queries rather than by hiding charts in the interface, because a hidden chart is still a number someone can reach if they go looking for it.
Tell Us Which Decision Needs a Number
List the systems your data lives in and the questions nobody can answer quickly today. We'll come back with an approach, a refresh schedule and a budget range.