What the referral tracker costs
This is the least expensive system in the collection, and the cost breakdown shows why: the busy path is just redirects and tiny writes. This post is every AWS line it touches at around 200 clicks and 20 conversions a month, why the total lands near $1.70, and what happens to the bill when the volume goes up tenfold.
Key takeaways
- About $1.70/month at roughly 200 clicks and 20 conversions — the cheapest system in this collection, because the busy path is just redirects and tiny writes.
- Nearly half the bill is one fixed line: Secrets Manager, two provider secrets at $0.40 each, billed whether or not anyone refers a soul.
- The variable lines are small — a couple of Bedrock calls, some SMS, and cents of DynamoDB, Lambda, and logs.
- At ten times the volume the bill lands near $9, because the fixed lines don’t move and the variable work is genuinely cheap.
- 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 referrals and no idle bill. More than that, the thing it does most often — redirect a click — is about the cheapest operation on AWS: a few milliseconds of Lambda and one tiny DynamoDB write. The expensive-sounding parts, the model calls, only happen twice per referral at most: once when a link is minted, once when it converts. At a typical small-business volume — call it 200 link clicks, 40 sign-ups, and 20 conversions in a month — here’s the whole bill, line by line.
| AWS service | What it does here | Monthly |
|---|---|---|
| Secrets Manager | Two provider secrets — webhook signing key, store/reward API key ($0.40 each) | $0.80 |
| Bedrock (Claude Haiku 4.5) | One invite per minted link, two thank-you notes per conversion | $0.30 |
| DynamoDB (on-demand) | Codes, click log, referrals, rewards ledger, audit — many tiny writes | $0.20 |
| SNS (SMS) | A few reward-confirmation texts where a mobile is the contact | $0.15 |
| Lambda (Python 3.14, arm64) | Redirect, minter, attributor, rewarder, screen, sweep | $0.10 |
| CloudWatch Logs | Function logs, 7-day retention | $0.08 |
| SES | Invite, thank-you, and fraud-review email | $0.05 |
| SQS + DLQ | Buffering sign-up and conversion jobs behind the redirect path | $0.01 |
| EventBridge Scheduler | The attribution-window expiry sweep | $0.01 |
| AWS Budgets | Cost alarm (first two budgets are free) | $0.00 |
| Total | ~200 clicks / ~20 conversions per month | $1.70 |
The shape of that bill is the point. The single biggest line — nearly half the total — is Secrets Manager, and it’s fixed: two secrets at $0.40 each, $0.80 a month whether the programme sends one referral or a thousand. Everything else is genuinely usage-priced and rounds towards zero when the phone’s quiet. The model calls are the next line down, and they’re modest because they’re rare — you pay for a bit of Haiku only when a link is born or a friend converts, never on the hundreds of clicks in between. The redirects, the writes, the queue, the schedule — all the machinery doing the real work of tracking and crediting — together cost less than the SMS line. This is what a system built almost entirely from cheap operations looks like on a bill.
The line that isn’t purely AWS
The SMS line deserves a caveat. 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.15 here is a UK-leaning estimate for the handful of reward texts a small programme sends; most notifications in this system are email through SES, which is cheaper still, so SMS is a minor line to begin with. If you send thank-yous entirely by email it drops off the table almost completely. Either way it’s the one line that tracks a real-world price list rather than an AWS one, which is why the Budgets alarm watches the total.
What ten times the volume costs
Push this to a busy business — 2,000 clicks, 400 sign-ups, and 200 conversions a month, ten times the volume — and the bill lands near $9, not $17. It’s sub-linear because the fixed line doesn’t move: Secrets Manager stays at $0.80, the schedule stays at a cent, and AWS Budgets stays free. What scales is the genuinely usage-priced work — the click log and the small writes grow into the largest variable line at a couple of dollars, the model calls rise to under $2 as more links are minted and more convert, and SMS, Lambda, logs, and SES add a few dollars more between them. Even at ten times the traffic, the redirects that dominate the volume barely register, because each one is worth a fraction of a cent.
The honest way to read this: the AWS bill is rounding error against what a referral is worth. One converted friend at a meal-prep service, a barber, or a window cleaner is worth far more than $1.70 — a subscription that runs for months, a customer who comes back every three weeks — and this design catches them by the handful and pays their advocates fairly. Even at $9 a month for a busy programme, it pays for itself the first time it turns one shared link into one real customer, and it does the counting, the crediting, and the fraud-checking that a person would never keep up with by hand.
Design rules that shaped the cost
- Build from cheap operations. The busy path is redirects and tiny writes, the two cheapest things AWS does — so volume is nearly free.
- Spend the model twice, not two hundred times. Bedrock runs at mint and at conversion, never on a click — the copy stays a minor line.
- Know your one fixed cost. Secrets Manager is nearly half the base bill and the only line that bills while the system sleeps.
- Prefer email to SMS. Most notifications go by SES; SMS is a small, country-varying line kept for where a mobile is the only contact.
- Watch the total. A Budgets alarm sits over the whole bill, the cheapest early warning that volume — or a loop — is running hot.