CJ Avilla works on platform and developer experience at Anthropic, helping developers build with Claude. His work spans documentation, quickstarts, cookbooks, and SDK examples: the materials developers use to turn an API into a working application.
From teaching to developer tools
Avilla’s career has moved between teaching, product engineering, and developer advocacy. He was an instructor at App Academy, a senior software engineer at MyVR, and a developer advocate at Stripe. In 2023, he joined Craftwork as a full-stack engineer, returning to product engineering. There he worked on integrations and refactored enums into models as pricing requirements evolved.
He later joined Stainless as a developer relations engineer, helping companies ship SDKs, documentation, and MCP servers. In 2026, Stainless joined Anthropic to focus on Claude Platform capabilities and connections between agents and APIs. Avilla now describes his work as platform and developer experience at Anthropic. His career history traces the earlier roles.
Making APIs usable
At Anthropic, Avilla contributes to Claude quickstarts and cookbooks, including deployable starter applications and notebooks that walk developers through individual techniques.
His teaching at Stripe took a similarly concrete approach. In a demonstration of variable-amount payments, he showed two ways to build a donation flow: let a customer choose an amount at checkout, or collect an amount in the application and pass it into a Checkout Session. The latter can also help when an application maintains its own product catalog or calculates a different amount for each customer. He showed how the session can create a price and product on the fly.
Avilla has also explored how developers maintain API clients. On Build and Learn, which he co-hosts with Colin Loretz, they discussed generating SDKs from an API specification: changes to the specification can flow into clients instead of requiring each one to be updated by hand, though generated code can be harder to read.
Tools for working with coding agents
Avilla’s personal Claude Code mods make session state visible in the terminal. One shows how full the context window is; another counts down to prompt-cache expiration. A third prepares a summary while an idle session’s cache is still warm. When the developer returns, it offers a choice between continuing from that summary and re-caching the full session.
Alongside Build and Learn, Avilla makes educational screencasts about Rails, JavaScript, and applied AI, sharing what he is learning as he builds.
CJ Avilla and Harrison Stall explain how Claude Managed Agents Flows divide work, allocate compute across phases, and put controls around long-running agent systems.
Flows let a lead agent plan phases and delegate discrete work; at the time of the talk, the speakers describe a 1,000-agent limit and one layer of nesting.
Use isolated contexts for narrow assignments and independent review, then evaluate coverage and quality rather than assuming parallelism guarantees either.
Budgets, event streams and interrupts support inspection and intervention during long runs; raising a reached budget can resume completed work without starting over.