What the warranty registration handler costs
A system that costs more than the goodwill it earns is a gadget. This post is the cost breakdown: every AWS service this design touches, what each adds up to at around 200 registrations a month, and why the total lands near $1.80 — plus what happens to the bill when the volume goes up tenfold.
Key takeaways
- About $1.80/month at roughly 200 registrations, and the fixed cost is almost nothing — nothing runs when nobody’s registering.
- The two biggest moving lines are one small Bedrock call per confirmation and the outbound reminder messages. Everything else is cents.
- The only real fixed cost is Secrets Manager: two secrets at $0.40 each, billed whether or not a single product is registered.
- At ten times the volume (around 2,000 registrations) the bill lands near $9 — it scales with use, not with idle time.
- SMS carrier fees vary by country and provider; the numbers here are a UK-leaning estimate, not a fixed AWS price list.
Where the money goes
The system is serverless end to end, so there’s no instance ticking over between registrations and no idle bill. You pay for a registration only when one happens, and for a reminder only when one goes out. At a typical small-brand volume — call it 200 registrations a month, each getting one confirmation, with a spread of maintenance and pre-expiry reminders firing from the back catalogue of live warranties — here’s the whole bill, line by line.
| AWS service | What it does here | Monthly |
|---|---|---|
| Secrets Manager | Two secrets — form signing key, order-lookup API key ($0.40 each) | $0.80 |
| Bedrock (Claude Haiku 4.5) | One compose call per confirmation and per reminder (~200 + reminders) | $0.35 |
| SNS (SMS) | Reminder texts for buyers who chose SMS, plus a few claim alerts | $0.25 |
| DynamoDB (on-demand) | Serials, warranties + expiry index, orders mirror, audit — small reads and writes | $0.12 |
| CloudWatch Logs | Function logs, 7-day retention | $0.10 |
| SES | Confirmation and reminder email, and claim handovers to your team | $0.08 |
| Lambda (Python 3.14, arm64) | Register, verify, store, notify, escalator, sweep, orders-sync | $0.05 |
| SQS + DLQ | Buffering between the form and the slower verify, store, and model calls | $0.03 |
| EventBridge Scheduler | The daily reminder sweep and the orders sync | $0.02 |
| AWS Budgets | Cost alarm (first two budgets are free) | $0.00 |
| Total | ~200 registrations/month | $1.80 |
The shape of that bill is the point. The only line that costs money while the system sleeps is Secrets Manager — two secrets at $0.40 each, $0.80 a month no matter what, which is nearly half the total at this volume. Everything else is genuinely usage-priced and rounds to zero at idle. The lines that move with volume are the two that actually reach the customer: the one small Bedrock call that phrases each confirmation and reminder, and the messages themselves. All the machinery doing the real work — receiving, verifying against orders, computing expiries, storing records, sweeping for due dates — is plain Lambda and DynamoDB, and together it costs less than the messaging.
The line that isn’t purely AWS
The SMS line deserves a caveat. Most warranty confirmations and reminders go by email, which is why SES sits so low and SNS is modest — SMS is only for the buyers who asked for it. But AWS prices outbound SMS per message, and the exact rate depends on the destination country and the mobile carrier: a UK mobile is a few pence, other countries differ, and some routes add carrier surcharges. The $0.25 here is a UK-leaning estimate for the handful of texts a month at this volume; your real number will track your country and your customers’ preferences. If you send reminders by email only, this line all but disappears. Either way, SMS is the one line worth watching as volume grows, which is exactly why the AWS Budgets alarm sits on top of the whole thing.
What ten times the volume costs
Push this to a busier brand — 2,000 registrations a month, ten times the volume, and a correspondingly larger back catalogue of warranties throwing off reminders — and the bill lands near $9, not $18. It’s sub-linear because the fixed lines don’t move: Secrets Manager stays at $0.80, the schedules stay at a couple of cents, and AWS Budgets stays free. What scales is the genuinely usage-priced work — roughly $3.50 of Bedrock for ten times the confirmations and reminders, about $2.50 of SMS, and a few dollars more spread across DynamoDB, logs, SES, and Lambda. Even then, the two things that reach the customer dominate, and all the machinery in between stays close to free.
The honest way to read this: the AWS bill is rounding error against what a registered warranty is worth. A single customer you can reach for a recall, bring back for a paid service, or handle a claim for without an argument is worth far more than $1.80, and this design captures them by the hundred. Even at $9 a month for a busy brand, the system pays for itself the first time a clean, verified record settles a claim that would otherwise have been a stand-off — and every customer it registers is one the business can actually find again.
Design rules that shaped the cost
- Pay per registration, not per hour. No always-on compute means no idle bill.
- Spend the model sparingly. One Haiku call per confirmation or reminder, and only to phrase — never to verify or to decide.
- Cheap work stays cheap. Verifying, computing expiries, storing, and sweeping are plain Lambda and DynamoDB, cents at this scale.
- Know your one fixed cost. Secrets Manager is the only line that bills while the system sleeps.
- Watch the SMS line. It’s the part whose price varies by country, so the Budgets alarm sits right on top of it.