Michael Bleigh
banner
mbleigh.dev
Michael Bleigh
@mbleigh.dev
Building the servers for serverless at Firebase. Web platform aficionado.
The image editing capabilities of Gemini 2.5 Flash are really something else. I think there will be some really cool stuff built on top of this, can't wait to see it!
August 26, 2025 at 3:29 PM
Want to bring 🤏🍌 into your app? Frontier image editing in Genkit is just a few lines of code away.

Available now, no need to upgrade your Genkit version. Just use the 'gemini-2.5-flash-image-preview' model and set responseModalities in config.
August 26, 2025 at 3:29 PM
OK this is why you should always check your assumptions...for some reason I thought

(a) you can't await a promise multiple times
(b) you can't await a promise that's already resolved

Neither of these are true, so you can just do this.
August 21, 2025 at 3:07 PM
Is there a better pattern than the snippet below for "async initialization classes" where the constructor needs to kick off async work but I want to "push down" waiting for that async to the methods?

I find myself using this pattern frequently but it feels clunky and ugly.
August 21, 2025 at 2:36 PM
We've seen that lots of folks like getting started in the console (especially with our "natural language to schema/operations" features) and now there's a one-liner script to download a generated SDK from the console.
July 23, 2025 at 6:06 PM
We also now support defining enums which are translated into Postgres native enums, but better than that these translate into strongly typed enums across all generated SDKs in JS, Kotlin, Swift, and Dart.

Enums can be filtered and even ordered (think log levels) like any other field.
July 23, 2025 at 6:06 PM
I won't bury the lede...FULL TEXT SEARCH ON FIREBASE! 🤯

You can use the "searchable" directive to make any table in your schema searchable.

We manage the indexing for you with Postgres native FTS capabilities. You can also filter, order, etc like normal. Also multi-language!
July 23, 2025 at 6:06 PM
We also support more than just tools! You can leverage prompts and resources from MCP servers and they are natively translated into Genkit prompts and the (brand new) resources support.
July 18, 2025 at 7:43 PM
You can programmatically manage your MCP server connections including dynamically disabling, reconnecting, or efficiently updating the entire server config all at once.

We took many practices we're seeing from various MCP clients in the field and built them in.
July 18, 2025 at 7:43 PM
Genkit v1.15 is out and includes a feature we've been cooking for a while: a completely revamped MCP plugin tailored for building complex "host" apps that connect to many MCP servers.

The new MCP Host capabilities let you pass in an "mcpServers" config...and we do the rest. ✨
July 18, 2025 at 7:43 PM
It occurs to me that we probably already have a pretty accurate model for how "agents as employees" will play out: self-driving cars.

There are defined "autonomy levels" and we see those playing out in the market today for cars. Let's think about them in the analogous case of software engineering.
June 29, 2025 at 7:10 PM
People congratulating me on 10y at Google: "Firebase has your fingerprints all over it!"

Colleague (in DM): "That sounds like something the detectives say when they are interrogating you for a crime."
June 24, 2025 at 8:27 PM
Okay this is totally a brag post but it feels pretty cool to have made a small contribution to the MCP spec!
June 19, 2025 at 2:59 AM
A pattern I use frequently when coding with LLMs:

1. Stub out an interface (see screenshot)
2. Write guidance in comments in the function body
3. Prompt "implement someThing in @some-file.ts following the provided comments. Add unit tests. See also @other-file.ts for context."
June 1, 2025 at 7:24 PM
1️⃣ Add "llmTools" config to Data Connect to generate a tool definition file.
2️⃣ Use Genkit's Firebase plugin to make tools available to your model.
3️⃣ Build agents that can query your app's database.
✨ Enjoy the show.
May 22, 2025 at 4:38 PM
We've moved the documentation for Genkit, our open-source framework for building GenAI app features, to its own dedicated website.

Say hello to genkit.dev!
May 20, 2025 at 9:40 PM
One example I found fun to try: "summarize my app's data model by exploring my firestore collections and fetching a few documents from each".

Gemini goes brrrrr, and voila!
May 20, 2025 at 8:31 PM
Firebase now has an MCP server baked into the Firebase CLI! With it you can let your AI coding tools:

✨ Provision projects
🔎 Explore data
🔧 Debug rules

And much much more!
May 20, 2025 at 8:31 PM
Me, after losing all my money on a bad investment:

"This is impossible! They *specifically* said it wasn't a scam!"
May 12, 2025 at 11:35 PM
This is why things like Genkit's Dev UI are so important. Big long workflow? Break it down into smaller chunks and rapidly play with those smaller chunks.

Find a set of inputs that you like to test, save it as an eval, make a change, run the eval. Tighter loop!
May 2, 2025 at 4:05 PM
Check out Dotprompt Fiddle! It's an easy way to test out prompts instantly in your browser then grab them as ready to go templates for your code.

You can also generate a prompt (like this example of an RPG character sheet generator).

Try it today: fiddle.genkit.dev/
April 25, 2025 at 5:48 PM
🐘 Firebase Data Connect is now GA and ready for your production workloads. It's Firebase magic on top of PostgreSQL.

🆕 Generate app schema from a prompt
🆕 Perform aggregation queries (count, avg, min, max) with ease
🆕 React and Angular bindings

firebase.blog/posts/...
April 9, 2025 at 5:11 PM
🧑‍💻 Introducing Firebase Studio, your VM-powered development environment in the cloud that lets you vibe with prompts or switch to a full IDE at any time. This is the next evolution of Project IDX and it's in public preview today!

Check it out at https://firebase.studio
April 9, 2025 at 5:11 PM
The Gemini 2.5 models have advanced image understanding, including image segmentation! You can generate bounding boxes and masks in less than 40 lines of JS with Genkit.

Want to try it yourself? Here's the full source code as a gist: gist.github.com/mble...
April 5, 2025 at 1:50 AM
Maybe this is the disconnect with AI? How is an 800% productivity gain at a task not exciting?

If AI makes knowledge work more productive by some low multiple (say even 2x) and does nothing else that would be an enormously impactful and important technology!
March 30, 2025 at 3:38 PM