Sunday roundup: API design, I/O, Anthropic
One post made it out this week. It was not for lack of things happening. Google I/O ran May 19-20, Anthropic held Code with Claude in London, and the AI industry announcements piled up faster than I could write about them. But sometimes a week goes like that. The writing that does land carries the weight of everything that did not.
Saturday: 5 API design decisions that shape voice AI dev experience
This was the post I had been meaning to write for a while. Error payloads, rate limiting that gives you a plan instead of a wall, streaming semantics that match what developers actually build, consistent response shapes, and documentation organised around real developer problems. These five patterns came from watching teams integrate voice APIs over the past few years at Deepgram and seeing the same friction points surface every time.
The one that got the most internal discussion was the error payload shape. Actionable error messages that include the detected audio format alongside the expected one. Simple idea. Harder to retrofit across an existing API surface. But the teams that do it save their developers hours of debug time per integration. I think that tradeoff is worth making early.
Elsewhere this week
Google I/O 2026 was the structural signal of the week. Gemini 3.5 Flash launched as the new default tier, Google Antigravity 2.0 shipped as a unified agent toolkit, and the keynote thesis was clear: AI is no longer a feature you bolt on. It is the platform everything else runs on. That framing matters for voice AI too. When the platform underneath a voice agent changes, the integration surface changes with it.
Anthropic held Code with Claude in London, making agentic coding concrete for a European audience. The conference showed Claude Code evolving from a power-user tool toward something closer to a standard development workflow. SWE-bench scores and context window sizes were climbing fast. The model race was still running, but the real shift was in how teams deployed these tools day to day.
Deepgram’s own work was quieter that week on the public side. Flux Multilingual had shipped a few weeks earlier and the team was heads down on the follow-up work. I spent most of the week on documentation and integration examples for the multilingual models, which is where the Saturday post came from.
Next week
The next post picks up the I/O thread properly. There is too much to cover in a roundup sentence.
Frequently asked questions
Where is the post about voice API design decisions?
At https://lukeocodes.dev/5-api-design-decisions-shape-voice-ai-devx. It covers five patterns that separate voice APIs developers keep using from the ones they work around: actionable error messages, rate limiting with context, predictable streaming semantics, consistent response shapes, and problem-oriented documentation.
What happened at Google I/O 2026?
Google I/O ran May 19-20. The key announcements for AI developers included Gemini 3.5 Flash (faster and cheaper than the previous Pro tier), Google Antigravity 2.0 (a unified agent toolkit with desktop app, CLI, and SDK), and Gemini Omni for multimodal creation. The message was that AI is now the platform layer, not an add-on.
What was Anthropic’s Code with Claude London event?
Anthropic held Code with Claude in London, an in-person event focused on agentic coding with Claude Code. It demonstrated how AI-assisted development was moving from experimental to mainstream, with live demos of Claude Code building and deploying applications.
What was Deepgram working on that week?
Deepgram had shipped Flux Multilingual at the end of April. The team was focused on follow-up releases and documentation for the multilingual models. I was writing integration examples and API docs, which fed directly into the Saturday post about voice API design.
Why was it a quiet week on the blog?
A combination of Google I/O coverage, Anthropic’s London event, and Deepgram’s internal work meant most of the writing energy went into notes and drafts rather than finished posts. One post published is better than none.