Ibrahim Ulukaya

About

I've been at Google since 2013, most recently leading developer relations engineering for Firebase and Google's generative-AI developer stack. This site is where I take production AI failures apart in plain words and build the instruments that show you where yours will break.

Background

I joined Google in January 2013. From 2021 onward, my most recent role has been Engineering Manager, Firebase & Google AI Developer Relations. I led the developer launches of the Gemini and Vertex AI SDKs and Genkit. Earlier, I was the YouTube API tech lead and co-founded Boomset. I've given talks at Google I/O and keynotes at Firebase Summit.

I presented in the Firebase Summit keynote in 2020 and 2022, and gave talks at Google I/O, Google Cloud Next, GDC and DevFests. The talks page links every recording since 2013, with a short bio and a headshot for organizers.

I wrote pawl, deterministic gates for coding agents across Claude Code, Codex, and Antigravity.

On ulukaya.dev I share what I learn from that work. The essays take one failure apart at a time and show the code that fixed it. The instruments let you run five of those failures in the browser. The notes are the short form: one gotcha, one fix, and the code that applies it. The blueprints are the reference architectures the essays keep coming back to. Every essay is also a podcast episode, in the feed for any podcast app.

Principles

01

Never expose a model endpoint to the open internet.

Every model call goes through a gateway that checks which app is calling before it spends anything. On Firebase that is App Check attestation in front of Cloud Run. It turns away a lot of scripted traffic but not all of it, and it does not say who the user is, so per-user limits key on the Firebase Auth uid.

02

Treat tokens like memory.

An agent loop with no ceiling is a memory leak that bills you. Budget the context, send cheap work to cheap models, and put a spend cap and a circuit breaker in front of the meter before adding concurrency.

03

Wrap the old system instead of rewriting it.

Real systems are brownfield. Adding AI by rewriting a working backend produces regressions; adding it as a sidecar next to the existing service, then moving traffic over one route at a time, does not. I build and run my own work on the same infrastructure I recommend to builders: Firebase App Hosting, Cloud Run, and Firestore.

Contact

For talks, workshops, or a question about anything on this site, email is the fastest route. Organizers will find topics and a bio on the talks page.

Disclaimer

Everything on ulukaya.dev, the essays, notes, instruments, and blueprints, is my own work and my own opinion. None of it is official Google policy, a binding SLA, or a commitment about unlaunched products.