Quote comparer
A small system that reads the quotes arriving as PDFs and email attachments, lines them up against each other, and makes the differences visible: what is included, what is quietly excluded, and which numbers cannot honestly be compared at all. It never picks. Seven posts on the same system, one diagram at a time, with a cost breakdown and an engineering reference at the end.
- 01
A quote comparer on AWS for a few dollars a month
The whole system on one page — read, normalise, compare — and why the component that picks a winner was deliberately never built.
- 02
How a quote gets read
How line items are pulled from documents with no shared structure, why every value keeps a page and line reference, and how unreadable quotes are handled.
- 03
How quotes get made comparable
Why quotes are aligned to the requested scope rather than to each other, how units are converted, how exclusions are detected, and the assumptions that hide inside a price.
- 04
How the comparison is presented
Why the exclusion table comes before the prices, how totals are presented with their provisional content visible, and why no recommendation appears anywhere.
- 05
When a quote cannot be compared
The four situations where comparison genuinely fails, what the system says instead, and why that output is more useful than a forced number.
- 06
What the quote comparer costs
About $133 a month. One Bedrock read per quote 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 quote comparer architecture
Same system, drawn purely for engineers. Service names, region, Lambda inventory, IAM scopes, the schemas and the exact model id.
Frequently asked questions
- What is a quote comparer?
- A small serverless system that reads supplier quotes for the same job, normalises them into comparable line items, and presents the differences — including the exclusions — without recommending one.
- Why not just compare the totals?
- Because the totals describe different jobs. One quote includes making good and waste removal, another does not, and the gap between them is usually larger than the gap in price.
- Does it choose the best quote?
- No, and that is a deliberate design decision rather than a limitation. It surfaces the differences and the person who knows the job decides.
- What happens when a quote cannot be compared?
- It is marked not comparable, with the reason. That is a more useful output than a number produced by guessing at what a vague line item covers.
- What does it cost to run?
- A few dollars a month. See part six.