An agent that answers a question in a notebook is easy. An agent that real people call over HTTP, that spends money on every request, that reads data other people wrote, and that has to be right more often than not, is a different job. This course is about that job. You build one project from start to finish: Deskmate, a support agent for a small product team. It starts as a knowledge base and six tickets, and ends as a service with its own tools, a web page, sessions and memory, users with budgets, rate limits, logs you can query, an eval suite in CI, a security check that runs on every start, and a morning digest on a schedule. It runs in a container on Cloud Run.
Every number in the course is real. Every run on screen was actually executed with the Claude Agent SDK and checked. When something failed, you see the failure and the fix: the budget fuse that returned an error after the result, the three-second timeout that took eight, the eval that passed a change that invented a feature, the scheduled job that never ran.
What you’ll practice:
- The SDK itself: query(), the options that matter, sessions, and what every run costs
- Your own tools in the same process, a gate in code on anything that changes data, and hooks
- External MCP servers, and prompt injection through tool results, measured and blocked
- FastAPI around the agent: one endpoint, streaming with server-sent events, one session per user
- Structured output with Pydantic, memory that survives, subagents, and a minimal web page
- Docker and Cloud Run with the key in a secret, never in the image






