Systems we build

The numbers, written up and waiting, before anybody asks.

Every morning somebody opens four tabs, copies figures into a spreadsheet, and turns them into a sentence for the standup. It takes forty minutes and the sentence is almost always the same sentence. This does that overnight instead. Your systems are read while nobody is awake, the figures are written up as a short brief in plain English rather than a wall of charts, and anything that moved oddly is flagged by name with what it was last week next to it. It lands before the first coffee. Nobody built it that morning, nobody forgot it on the Friday before a bank holiday, and it tells you when a number looks wrong rather than waiting to be asked.

CRMAccountsAdsBookingsRead overnightwhile you sleepA short briefwaiting at 8amFlaggedanything odd, by name

The problem

Somebody in your company is a human export button. They open the CRM, the accounting package, the booking system and the ads dashboard, copy four numbers into a spreadsheet that has their name on it, and turn the result into a sentence. It takes about forty minutes. They do it before anyone else is properly awake, which is why nobody has ever costed it.

Then they go on holiday, and the number stops. Not dramatically. It simply is not there on Tuesday, and nobody mentions it, and by Thursday the company has quietly gone back to running on vibes. That is the tell that this was never a report. It was one person's habit, and habits do not survive annual leave.

The reports that do survive are usually worse. A dashboard gets built, everybody admires it for a fortnight, and then it becomes wallpaper. Nobody opens it, because opening it is a decision you have to make, and nothing about a dashboard tells you that today is the day it matters. A chart that is going badly looks exactly like a chart that is going fine until you read the axis.

So the actual failure is not a lack of data. You are drowning in it. The failure is that nothing in your week is responsible for noticing. Refunds doubled on Tuesday. The ads cost per lead has crept up 40% since the start of the month. One salesperson has not touched a record in nine days. All of that is sitting in systems you already pay for, visible to anybody who thinks to look, which is the problem in one sentence.

A dashboard nobody opens is not reporting. It is a very expensive screensaver.

How it works

Five things happen while you are asleep. The fourth is the only one that makes it worth reading on a day when nothing interesting happened.

  1. Your systems are read overnight, not asked to exportThe CRM, the accounting package, the booking or job system, the ads accounts, the till, the support queue. Whichever of those you run, pulled directly rather than by anybody exporting a CSV. This is the forty minutes, and it is the least interesting part of the system, which is exactly why a machine should have it.
  2. The figures are reconciled before they are reportedThe CRM and the accounting package will disagree about revenue. They always do, for reasons that are usually legitimate: one counts on invoice and the other on payment. The brief says which basis it is using and flags when the gap between them changes, because a sudden divergence is itself the news and a report that silently picks one source hides it.
  3. It is written as sentences, not rendered as chartsTwelve bookings yesterday against a nine-week average of nine, revenue 14% ahead of the same week last month, two quotes over 5,000 euros still unanswered after six days. Prose, because prose cannot be skimmed past the way a chart can. You can read a number without noticing it. It is much harder to read a sentence saying the number is unusual and not notice that.
  4. Anything odd is flagged by name, with its context attachedNot thresholds somebody set in March and nobody has revisited, which fire constantly in December and never in August. Each figure is compared against its own recent behaviour, so what gets flagged is a number behaving unlike itself. The flag names the thing, says what it normally does, and says what it did. Three sentences, no investigation required.
  5. It arrives where the standup already happensIn the channel, at a time you choose, every working day including the ones after a bank holiday when the person who used to do it has forgotten. Anything genuinely urgent does not wait for the morning and goes out when it is detected. The brief is also kept, so by month three you can read back and see when something started rather than when somebody noticed.

What it's built from

Three pieces, which is why this is a week or two rather than a month. No new dashboard tool, deliberately.

  • n8n, the part that decidesSelf-hosted on European infrastructure, and the actual product. The schedule, the connections, the comparison windows, what counts as odd, what escalates immediately and who gets what all live here as something you can open and read. When you want the Monday brief to include the week's pipeline and the others not to, that is one rule in one place.
  • Claude, for turning figures into sentencesWrites the brief against the reconciled numbers, in your vocabulary rather than in generic business English, and explains why something was flagged instead of only that it was. It writes what is there and nothing else: the one instruction it cannot break is that it never estimates, never fills a gap and never smooths over a missing source. A report that invents a plausible number is worse than no report by a wide margin.
  • Slack, because the standup is already thereThe brief arrives in the channel, which is the whole distribution strategy and the reason this gets read when dashboards do not. Teams or email work the same way. Nobody has to log into anything, remember anything or be trained on anything, and that is the single biggest predictor of whether a reporting system is still alive in six months.

You do not have a data problem. You have a nobody-is-watching problem, which is cheaper to fix.

What it's worth

Do this with your own numbers rather than ours. It takes a minute and it is the only version worth believing.

  • One person spends 40 minutes every working morning assembling the figures.About 14 hours a month, roughly 21 working days a year, spent copying numbers between systems that could have been introduced to each other once.
  • That person is senior enough to be trusted with every system in the business.Which is the real cost. This task always lands on somebody expensive, because it needs access to everything, and it is the least valuable thing they do all day.
  • Something goes wrong roughly once a quarter and currently takes about three weeks to notice.Noticing it on day two instead costs nothing extra. On a 40 euro cost per lead drifting to 56, three weeks of ads spend is the whole build.
  • The published figure holds that nearly half of a data professional's time goes on loading and cleaning rather than on analysis.That ratio is worse in a company without a data team, not better. Yours is a person doing it by hand at seven in the morning.

These are illustrations using published averages and round numbers, not results we are reporting. Your systems, volumes and how often things actually go wrong will move every line, which is why the first week is spent watching what you currently do by hand rather than guessing at it.

The research behind those assumptions

Published figures rather than ours. They all point at the same thing: the expensive part of reporting is not the thinking, it is the fetching.

What it costs

One system at the automation price on the services deck, at the bottom of that range: three tools, one to two weeks. What moves it is how willing your systems are to be read. A business running mainstream software with real interfaces is quick. A business whose key number lives in a spreadsheet one person maintains, or in software from 2009 with no interface at all, is the top of the range, and that spreadsheet is the project.

Running cost is a small hosting line plus fractions of a cent per brief. There is no per-viewer licence, which is the entire reason analytics tools end up costing more than the insight: the moment reporting is priced per seat, somebody starts deciding who is allowed to see the numbers, and the answer should be everybody.

Outside the build price, as always, is somebody watching it. That is the care retainer and it is slightly funny here, because this is the system that watches the other systems. It still needs watching. A brief that has been quietly reporting from a disconnected source for three weeks is the worst failure available, since it does not look like an error. It looks like a very calm month.

What goes wrong, and what happens then

Every one of these is in the build because it happens, not because somebody raised it in a workshop.

  • A source is unavailable at three in the morningThe brief says so, by name, rather than reporting the remaining numbers as though they were the whole picture. Retries happen first, and a source that fails twice in a week raises a separate alert. A report with a silent hole in it is the one failure that destroys trust permanently.
  • Two systems disagree about revenueBoth figures are shown with the basis each is using, and a change in the size of the gap is itself flagged. They will disagree. Picking one quietly is how a company spends a quarter arguing about whose number is right instead of noticing that the difference started in March.
  • Everything gets flaggedThe classic failure of threshold alerting, and the reason comparisons are made against each figure's own recent behaviour rather than a line somebody drew once. Flag volume is itself monitored. A brief that flags six things every day has taught everybody to skip the flags, which is worse than having none.
  • December arrivesSeasonality is handled by comparing like with like rather than with last week, so a quiet period between Christmas and new year does not generate a fortnight of alarm. Known closures are in the configuration. A system that panics every holiday gets muted, and muted is permanent.
  • Somebody changes a field nameSchema changes break reports silently, which is why the pipeline checks that the data it received has the shape it expected and raises a specific error when it does not, rather than reporting a zero. A zero is a number. A number is believed.
  • The brief becomes wallpaperThe risk this system shares with every dashboard. It stays short, it leads with what changed rather than with what is the same, and on a day when genuinely nothing moved it says so in one line instead of padding. Length is the enemy. Nobody skims a four-line message.
  • It stops sending and nobody noticesThe brief is expected rather than merely scheduled, so a missing one raises an alert by a different route. Monitoring that depends on the thing being monitored is not monitoring, and this is the one system where that mistake is easy to make.

Still wondering

The questions this one raises.

  • It is reading your systems overnight and writing the result up as a short brief that is waiting when you start work. Figures from the CRM, the accounting package, the booking system and the ads accounts, reconciled, written as sentences rather than charts, with anything behaving unusually flagged by name. The point is that noticing becomes somebody's job, and that somebody is a machine that does not go on holiday.

  • A dashboard waits for you to open it, which means it is useful exactly as often as you remember to. This arrives whether you asked or not, says what changed rather than showing you everything, and tells you when a number is behaving oddly instead of leaving you to spot it. If you already open your dashboard every single morning and read the axes properly, you do not need this. Almost nobody does.

  • Usually. Mainstream CRMs, accounting packages, booking systems, ad platforms, payment providers and support tools all have interfaces this can use. The awkward cases are spreadsheets one person maintains by hand and software old enough to have no interface at all. Neither is fatal, but both turn a one-week build into a two-week one, and the audit at the start is largely about finding them.

  • A figure behaving unlike itself, rather than crossing a line somebody drew once. Fixed thresholds are why most alerting gets switched off: they fire constantly in your busy season and stay silent in your quiet one. Each number is compared against its own recent range, and the flag tells you what it normally does alongside what it did, so you can judge it in one read.

  • No, and it is built so that it cannot. The writing step only ever has the reconciled figures in front of it, and the one instruction it is not permitted to break is that a missing source is reported as missing rather than estimated or skipped. A brief that quietly papers over a dead connection would be worse than no brief at all, because it reads as good news.

  • Usually a channel rather than a person, so it survives holidays and does not become somebody's private asset. Different briefs for different teams are straightforward, and it is common to run a short daily for everyone and a longer Monday one with the pipeline in it. There is no per-viewer cost, which means you never have to decide who is allowed to see the numbers.

  • One to two weeks. Most of it goes on agreeing which numbers actually matter, which is a shorter list than anybody expects and a genuinely useful argument to have. The connections are quick. The brief is tuned over the first fortnight, mostly by cutting things nobody reads.

  • Ask an AI about us

Find out what you are not watching.

Tell us which systems hold your numbers and who assembles them. We will come back with what a morning brief would actually say.

We use this to reply to you and nothing else. No list, no marketing, deleted after two years if it goes nowhere. See the privacy policy.