What's behind it
The agent is an AWS Lambda function with response streaming, behind the same CloudFront distribution as this page through an origin access control, so its URL answers no one else. It calls Claude on Amazon Bedrock and runs a tool loop: Claude decides which tool it needs, the function runs it, and the result goes back until Claude has an answer. Each step streams to this page as its own event.
The tools are deliberately small. Site search is BM25 over every page of this site, cut into passages when the function is deployed, so it never answers from a stale copy. Live traffic and the bill come from the same DynamoDB table the glass box reads, and the build numbers are the ones on the build log. The system prompt and tool definitions are cached, so after the first question they cost a tenth as much.
It talks, too. Tap the microphone and ask out loud: your browser turns speech into the question, and the answer comes back in an Amazon Polly generative voice, sentence by sentence while it is still being written.
Questions and answers are kept for 90 days so I can see what people want to know, with the city CloudFront reports and nothing that identifies you: no IP address, no name.
It runs on a budget: ten questions per visitor per day and a site-wide cap per day, both counted in DynamoDB before the model is called. If you hit one, just write to me.
- Claude on Bedrock
- Lambda response streaming
- CloudFront OAC
- DynamoDB
- prompt caching
- Amazon Polly