Field notes · Article · Part 3 of 3
Before it printed a real label, LabelBot spent days shadowing the staff
A shadow run lets a new system do the job on real work while nothing it produces is used. Here is how we ran one at a dental lab, and what it caught that tests could not.
In brief
- In a shadow run, the new system works on real paperwork and its output goes nowhere. People keep doing the job the old way.
- You compare the two side by side and fix every difference before switching it on.
- Tests catch the problems you can imagine. A shadow run catches the ones you cannot.
Every automation looks good in a demo. The sample invoice is clean, the address is complete, the printer is on. Then it meets a real Tuesday: an invoice saved a different way, a suite number on its own line, the same page printed twice because someone was not sure the first one went through.
At the dental lab where we built LabelBot, a mistake on a real Tuesday means a crown going to the wrong dental office. So before the bot made a single real shipping label, we ran it in the shadows.
What a shadow run is
The idea is simple. The new system runs next to the old way, on real work, and its output goes nowhere. It writes down what it would have done. Your people keep working exactly as they always have. Then you lay the two side by side.
If they match, you have evidence instead of a promise. If they do not, you have found a problem that would otherwise have reached a customer. Either way, nobody's day changed while you found out.
How we ran it at the lab
By the time the shadow run started on August 19, 2026, LabelBot already had its automated tests and had been through four rounds of code review. Over several days, staff printed and shipped the way they always had. The bot read each real invoice and prepared the label it would have requested, but sent nothing to the courier. Each evening we compared what it prepared with what staff had typed by hand.
The comparison was not glamorous. Every field on every label, name, street, suite, city and ZIP, was checked against the hand-typed version, and anything that differed was traced back to its cause before the next day's run.
Only when the two matched did we switch it on. It went live in early September 2026 and has printed 628 labels since.
What the real paperwork taught us
The most useful findings were not in any test, because we did not know to write them. The biggest was about how the invoice gets saved. Some ways of saving a PDF keep the text inside it readable. Others flatten the page into a picture that software cannot read. We measured it on the lab's own computers: Chrome's "Save as PDF" and PDF24 kept the text, Microsoft Print to PDF did not. So the bot is only ever handed the readable kind.
The second finding was a rule. If an invoice ever arrives as a picture, the bot refuses it rather than guessing at the address. A missing label is a small problem that a person notices in seconds. A wrong label is a box on its way to the wrong office.
A missing label is a small problem. A wrong one is a big one.
What to compare
If you run a shadow run yourself, or ask a vendor to, compare more than "did it work":
- Every field. Name, street, suite, city, ZIP. One wrong digit counts as a miss.
- What it skipped. Work your staff handled that the system never touched.
- What it did twice. Anything that would have happened more than once.
- What it did with strange input. A blank field, a rushed order, a reprint.
How long is long enough
Run it until it gets boring. You want to have seen a normal day, a busy day and a handful of odd cases, with nothing new turning up. Do not pick the length first and hope; let the differences tell you when you are done. At the lab that took several days. A business with more variety in its paperwork might need longer.
What it does not replace
A shadow run is not a substitute for tests. LabelBot's 130 tests check different invoice layouts, odd addresses, duplicate prints and a slow courier every time the code changes. The shadow run checks the real world once, carefully. You want both.
It also does not replace a person. Staff at the lab still decide when a case is done and when to print. The bot handles what comes after that decision.
If you are buying any automation that touches customers, money or shipments, ask one question before you sign: can it run in shadow mode on our real work first? Every paperwork automation we build does, and if it does not match, it does not switch on.



