Skip to content

Series · 7 parts Published September 6, 2026

Product recall tracer

A small system for anybody who sells physical goods: batch codes captured at goods-in, a recall notice read into the products and batches it actually names, a trace forward into stock and sales, and an honest count of the customers you cannot identify. Seven posts on the same system, one diagram at a time, with a cost breakdown and an engineering reference at the end.

  1. 01

    A product recall tracer on AWS for a few dollars a month

    The whole system on one page — goods-in, the notice, the forward trace and the evidence file — and why the cost of a recall is set by a record you either made or did not make at delivery.

  2. 02

    The fifteen seconds at goods-in that decide what a recall costs

    Capturing lot codes at delivery from a note, a label photo or a supplier feed, and why this is the only step in the system that cannot be done retrospectively.

  3. 03

    Turning a recall notice into codes, not a product name

    Reading a published recall notice into product identifiers, batch codes, dates and a reason, and keeping the trace exactly as wide as the notice makes it.

  4. 04

    Tracing forward, and being honest about the guess

    Running a bounded scope against the batch register to produce stock and sales lists, with the first-in-first-out assumption made explicit on every row.

  5. 05

    The customer list you cannot make, and what to do instead

    Turning traced sales into a contactable list, quantifying the unmatched remainder honestly, and assembling an evidence pack that reconstructs the whole decision.

  6. 06

    What the product recall tracer costs

    About $5 a month. One Bedrock read per site is the only line that grows; the queue, the table, the mail and the storage are rounding errors. Plus the three ways the bill could surprise you.

  7. 07

    Engineering reference: the product recall tracer architecture

    Same system, drawn purely for engineers. Service names, region, Lambda inventory, IAM scopes, the schemas and the exact model id.

What is the difference between a withdrawal and a recall?
A withdrawal removes stock before it reaches the consumer. A recall asks for it back after it already has. The trace is the same; the second one needs a customer list and the first one does not.
What does one step back, one step forward mean?
You must be able to name who supplied you and who you supplied. It is the traceability standard in EU and UK food law, and it deliberately stops at your business customers — individual consumers are not covered by it.
Why can I only identify some of the customers?
Because a cash sale is anonymous by design. Online orders, accounts and loyalty scans carry a name; the rest do not, and any system that claims otherwise is guessing.
Do I need this if I only sell a handful of lines?
The number of lines is not what decides it. Whether you wrote the batch code down at goods-in is what decides it, and that takes the same fifteen seconds however small you are.
What does it cost to run?
A couple of dollars a month. See part six.
All posts