Skip to content
AI agents, in practice

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.

How this is built

Nothing fancy — just the pieces, wired correctly.

Static + streaming

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.

Provider-agnostic

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.

Quota & cost-capped

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