
Ibrahim Ulukaya
I write about where AI coding agents break in production, and I build the checks that catch them. Every essay starts with something that failed on my machine and ends with the code that fixed it. By day I lead developer relations engineering for Firebase and Google AI.
Things I believe
- A rule in a prompt is a suggestion. A rule in a commit hook is a rule.
I deleted 4,000 lines of agent prompts and kept a 45-line hook.
- A regression test that never failed has not tested the fix.
One git check rejects a bug test that already passes without the fix.
- Leaderboards grade single turns. My agents run 30 to 60 in a row.
The top-ranked model failed 34% of my edge cases.
- Most agent turns do not need the frontier model.
Workhorse tier by default; escalate on four signals the code can observe.
- A spend cap fires after the money is gone.
My script burned $412 past a $50 budget before billing came off.
Work
- Led
The developer launches of the Gemini and Vertex AI SDKs and Genkit at Google. Background
- Built
pawl, deterministic gates that check a coding agent's work before it reaches a commit.
- Spoke
The Firebase Summit 2022 keynote, one of 32 recorded talks since 2013.

Writing
All writingChecks for coding agents, in reading order
- Code Over Context: Why Written Agent Skills Break in Production
- The Crutch vs. the Operating System: Why I Deleted 4,000 Lines of Agent Prompts
- When the AST Hook Goes Green and the Test Still Fails: The Behavior Gate
- Your AI Says the Bug Is Fixed, but the Test Never Failed: Two Checks Before It Ships
- Your AI Fixed the Bug and Every Test Passed, but the Tests Skipped the Fix
More essays
- Stop Sending Every Agent Turn to the Frontier Model
- Your #1 Arena Model Fails in Real Repositories: The Leaderboard Mirage
- The Hybrid AI Standard: Routing Between On-Device AI and the Cloud
- One Outdated Doc Fooled My Agent: Check Each Claim Against Live Data Before It Acts
- Dropped Tokens: Fixing Multi-Turn Agent Streams That Die Mid-Flight
- Two Writers, One Index: How Static Files Corrupt Agent Memory
- Network Chunks Corrupted My Text and Crashed My JSON: Buffer Before You Parse
- 200 Tokens a Second Locked Up My Browser: Client-Side Defense for Agent Streams
- Why Your AI Agent Agrees With Everything: 10 Production Failure Modes
- Why a $50 Cloud Spend Cap Won't Save You From an Agent Loop
- 78% of My AI Bill Was Waste: Where Prompt Discipline Ends and Runtime Guards Begin
I also build browser instruments that let you run these failures, and keep short engineering notes.
Get in touch
For speaking, workshops, or a conversation about agents and developer tools, email me.
Get the next essay by email
One email per new essay: a production failure, taken apart, and the code that fixed it. Reply to any of them to unsubscribe.