Shelf price checker
A small system for any grocery or convenience business whose prices change faster than its labels: a phone walk of the shelves, a model that reads what each label says without being told what it should say, a comparison against the price in force when the photo was taken, and a swap list in the order the store is actually walked. Seven posts on the same system, one diagram at a time, with a cost breakdown and an engineering reference at the end.
- 01
A shelf price checker on AWS for about $25 a month
The whole system on one page — the walk, the blind read, the match against the till and the swap list — and why the direction of a mismatch matters more than its size.
- 02
Reading a shelf from a photograph
Turning a walk of the shelves into structured label records: capture by bay, a quality verdict returned to the phone, a blind vision read, and what happens to the labels nobody can read.
- 03
Matching a label to the till, at the moment of the photo
Identifying the product behind each label by barcode, shelf code or description and position, and comparing it with the till price and promotion in force at the photo’s timestamp.
- 04
Which mismatch to fix first
Classifying each exception by direction and kind, putting overcharges above everything else, treating unit pricing as a per-store obligation, and choosing between fixing the label and fixing the till.
- 05
The gap between the till and the shelf
Turning price changes into a route-ordered swap list, confirming each swap with a photo, measuring label lag per store, and deciding how often a full walk is worth doing.
- 06
What the shelf price checker costs
About $25 a month. One Bedrock read per photo 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.
- 07
Engineering reference: the shelf price checker architecture
Same system, drawn purely for engineers. Service names, region, Lambda inventory, IAM scopes, the schemas and the exact model id.
Frequently asked questions
- Is it actually a problem if the till charges more than the shelf?
- Yes. The Price Marking Order requires the selling price shown to be the final price the customer pays. Trading Standards can prosecute a breach, and under the Digital Markets, Competition and Consumers Act 2024 civil fines can reach 300,000 pounds or 10 per cent of worldwide turnover, whichever is higher. A till charging less than the label breaches nothing; it is lost margin.
- Why photograph the labels instead of reprinting all of them?
- Because a reprint tells you nothing about what was on the shelf, and the gap between a price change and a label change is the thing worth measuring. A reprint also misses the correct label sitting under the wrong product, which is a wrong price with a right label.
- Do small shops have to show unit prices?
- Shops with a relevant floor area of 280 square metres or less are exempt for goods pre-packaged in constant quantities, but not for goods sold loose. A chain with stores on both sides of that line has a different obligation in each, so floor area is store data.
- What changed in April 2026?
- Amendments to the Price Marking Order took effect on 6 April 2026. Unit prices are now per kilogram or litre (or per item, where sold by number), legibility rules were tightened, and a product offered at more than one price, such as a loyalty price, has to show each price, each unit price and the conditions.
- What does it cost to run?
- About $25 a month at 3,000 shelf photos, which is roughly a five-store chain walking every shelf once a month and the changed bays every week. See part six.