What the meeting notetaker costs
The notetaker is a cheap system, and almost all of its cost is one line: transcription. Amazon Transcribe is billed per minute of audio, so the bill tracks how many minutes of meetings you run, not how many features the system has. Bedrock fires just twice per meeting — once for the summary, once for the action items — so it’s a small sliver. Everything else (Lambda, DynamoDB, S3, SES) rounds to nothing. At typical SMB volume, the bill is a few dollars a month, fixed cost essentially zero.
Key takeaways
- Around $4/month at typical SMB volume (about 40 meetings a month, ~30 minutes each).
- Fixed AWS cost is essentially zero. No always-on compute, no NAT Gateway, no API Gateway.
- Transcription is the dominant cost — billed per minute of audio.
- Bedrock fires twice per meeting (summary + action items); it stays a small sliver.
- At 100 meetings the bill is around $9. At 200 meetings it’s around $18.
Cost at three volumes
Where the dollars actually go
Transcription (the bulk). Amazon Transcribe is billed per minute of audio. A 30-minute meeting is 30 minutes of transcription. At 40 meetings a month that’s about 20 hours of audio; at 200 meetings it’s about 100 hours. This is the line that moves the bill, and it moves with minutes, so a month of long offsites costs more than a month of short standups even at the same meeting count. There’s nothing to optimize here except recording shorter meetings — which is good advice anyway.
Bedrock (two calls per meeting). The summary pass and the action-item pass. Each reads the transcript (a few thousand tokens for a normal meeting) and writes a short result. On Haiku 4.5 that’s a fraction of a cent per meeting. Long meetings use Sonnet 4.6, which costs more per token but still lands at cents per meeting. Across a month, Bedrock is a small sliver next to transcription.
Lambda runtime. A handful of short functions per meeting: start the transcribe job, flatten the output, run the two model calls, run the four checks, send the draft, and (on approve) send the recap. Milliseconds each. Pennies a month at all three volumes.
DynamoDB on-demand. One small table, mn-runs, with a row per meeting plus the audit snapshots. Writes are a few per meeting; reads are occasional lookups. Pennies.
S3 + storage. The recording, the transcript, and the draft notes per meeting. A 30-minute recording is tens of megabytes; transcripts and notes are kilobytes. A few gigabytes a month at most, with lifecycle rules moving old recordings to cheaper storage. A dollar or two at the high end, less at SMB volume.
SES. Outbound for the draft to the organizer and the recap to attendees: $0.10 per thousand emails. A couple of cents a month even at 200 meetings.
What doesn’t cost money
- API Gateway. Replaced by Lambda Function URLs for the approve and send buttons.
- NAT Gateway. Nothing is in a VPC. No NAT, no $32/month minimum.
- Always-on compute. No EC2, no Fargate, no bot sitting in your calls. The pipeline wakes only when a recording lands.
- A Knowledge Base. The notes come from the meeting’s own transcript, not from a searchable corpus. No embeddings, no Knowledge Base, no S3 Vectors needed.
- Models on a schedule. Bedrock fires twice per meeting and never on a timer. Nothing runs when no meetings do.
How the cost scales
Transcription grows linearly with minutes of audio, and Bedrock grows linearly with meeting count, so the total tracks how much your team actually meets. At 400 meetings a month the bill is around $35; at 1,000 it’s around $85, almost all of it transcription. Past those volumes the math doesn’t change shape — there’s no cliff — you’re simply paying for more minutes of audio. The only real lever is meeting length, and the system can’t shorten your meetings for you.
Set an AWS Budgets alarm at $30/month so anything unusual pages you before the bill matters. The notetaker’s normal-volume bill stays well under that ceiling.
Last post in the series: the engineering reference. Same system, drawn for engineers — service names, Lambda inventory, IAM scopes, DynamoDB schemas, the Transcribe job config, and the Bedrock model IDs.
All posts