What AI agents look like when they actually do work.
Most "AI demos" hide the work. This one shows it — the system prompt, the tool calls, the streaming output, the cost. Build your own agent in 60 seconds, or run a real-world grants researcher and watch it scrape the FEMA / USDA / Indiana grant landscape live.
Build an agent
Pick a persona, give it a goal, hand it tools. The wizard composes a system prompt you can see, then streams Claude's response with every tool call visible.
Research fire-dept grants
A real Claude Code skill, repurposed as a web-runnable agent. Drop in a township's details and the agent web-searches FEMA, USDA, Indiana OCRA, Firehouse Subs and the rest, then produces a structured report.
How this is built
Nothing fancy — just the pieces, wired correctly.
Next.js exported to S3 + CloudFront. The agent runner is a Lambda Function URL with RESPONSE_STREAM — SSE all the way to the browser, no WebSockets.
A small ProviderAdapter interface around Anthropic Claude (wired now), with OpenAI and Bedrock adapters slotting in next. The agent loop doesn't care which one runs.
Cognito guest identity gates per-visitor daily runs. A daily $-cap CloudWatch alarm trips an SSM circuit breaker the runner reads on every invocation.
Who built this
Written by Claude. Orchestrated by Tim Butler.
Every line here — the agent runtime, the CDK stacks, this page — was written by Claude in Claude Code, and the commit history says so. Tim Butler is the orchestrator, not the author: 20+ years of engineering leadership spent setting the architecture, reviewing every change, and deciding what shipped — these days by directing agents instead of typing the code himself.
Ask the orchestrator's résumé anything