Jakub Rimek.
Case study · Line tooling

Barcode Verification Tool

A food line prints tray-end labels all shift, and before product ships someone has to be sure each label is right. A cyber-attack wiped the software that did that checking, so the job fell back to the human eye and a print order. Two days later there was a working check again. This is that build.

The problem

Every tray-end label carries a barcode that encodes the product, the customer, the use-by and the expiry. If the wrong label goes on, the wrong product leaves the building. The system that validated those codes was lost in the attack, and operators were left checking by eye against a print order – slower, and only as reliable as the person doing it at the end of a shift.

The solution

The validator reads a label and tells you, in one glance, whether it's right. Scan it with a USB scanner, a phone camera, or type it in; it decodes the barcode and checks every part against the product list.

  • Made to fail safe. Anything uncertain is rejected, never waved through. A genuinely ambiguous code asks the operator to choose rather than guessing.
  • Built for the floor. The product number shows large next to a plain Valid or Invalid, so it reads from arm's length.
  • Works with no signal. It installs like an app and keeps working offline once loaded.
The barcode verification tool waiting for a scan
The scanner waiting for a tray-end barcode – it checked the moment a full code arrived (demo branding).

What changed

Two days after the old system went, the line had its label check back and the eye-checking stopped. It carried the full product list and the codes that can look alike, and it decoded three real barcode formats. In fuzz testing it handled every one of 255 valid and 1,530 invalid cases with no wrong answers – nothing passed that shouldn't, nothing failed that should.

2days from lost system to working check
300+products it checked against
1,785test cases, no wrong answers either way

Where it ran

It isn’t in use today – it was there for the window when the line had nothing else, which is the job it was built for. It only ever meant anything against a real product list, so there’s no public version to open. If it’s useful I can run a few labels past it on demo data and show you what it turns down.

Internal tool Get in touch →