Genkit in action.

A collection of small, open-source demos exploring what modern models can do when you give them tools, structure, and something real to build. Each one is a single Genkit flow, readable in one file and shippable in an afternoon.

Models in the arena
Gemini 3 Claude Sonnet 4.6 GPT-5 Nano Banana 2 Veo 3.1

The experiments

Each one is a single Genkit flow exercising a different part of the framework — agentic tool use, streamed structured output, multi-model routing, MCP, generative interfaces. Open source. Made to be forked.

Live json-render

Generative UI

Pitch a product. Gemini streams a structured spec through Genkit; json-render materialises it as real React components — one element at a time, within a typed catalog.

Try it
Autumn rain descends
A silent world awaits the dawn
Leaves drift to the ground
Live haiku

Haiku

Type a topic. The model returns a single haiku in strict 5-7-5 form. A tiny demo of typed structured output — three lines, always three lines, enforced by Zod at the schema boundary.

Try it
Live village

The Village

Ten AI villagers face a crisis and must decide together. Concurrent Genkit subflows fan out every tick — they think, walk, and lobby each other in parallel until a majority forms.

Try it
Live escape-room

Agent Escape Room

Two Genkit agents share a top-down room. They don't control their sprites — they call a move_to(entity) tool and server-side pathfinding streams waypoints the UI animates through. Tool use, multi-agent loop, streaming.

Try it
Soon 3d-builder

3D Builder

Type anything. Three models each try to build it out of primitive shapes, placing them live as streamed tool calls. Demonstrates multi-model routing and streamed structured output.

Coming soon
Soon guess-location

Guess the Location

Describe a place, one clue at a time. Three models drop pins on a shared world map and revise as the clues arrive. Shows parallel flows and typed structured output across model providers.

Coming soon
🏠 🔥 🚒 💨
Soon emoji-charades

Emoji Charades

One model picks a word, another explains it in emoji, a third guesses. A small multi-agent loop that doubles as an informal benchmark for how different models communicate.

Coming soon
Soon pictionary

AI Pictionary

One model draws in raw SVG, stroke by stroke. Others watch the stream and shout guesses. Token-level streaming with partial rendering, wrapped around a real game loop.

Coming soon
Porto, PT 98
San Sebastián, ES 94
Split, HR 91
Valletta, MT 87
Soon holiday

Find Me a Holiday

Describe the trip in whatever vague way you like. An agent researches candidates, pins them on a map, and scores each one against your criteria. Tool use, RAG, and a long-running flow.

Coming soon
2
Demos live
5
Models, one flow each
1
Genkit flow per demo
MIT
Open source

Built with Genkit

Every demo on this site is a single Genkit flow. Genkit is Firebase’s open-source framework for AI applications — it handles model orchestration, typed structured output, streaming, tool calling, MCP, and evals through one coherent API.

The flow stays the same whether the model is Gemini, Claude, or GPT. One argument change swaps provider. The same primitive powers agents, RAG pipelines, generative UIs, and background operations — which is why a demo site this varied can share a single backend.

Read the Genkit docs
// one flow, three models, typed output
export const build3d = ai.defineFlow({
  name: 'build3d',
  inputSchema: BuildInput,
  streamSchema: ShapeSchema,
}, async (input, { sendChunk }) => {
  const { stream } = await ai.generateStream({
    model: modelFor(input.model),
    output: { schema: SceneSchema },
    prompt: `Build: ${input.prompt}`,
  });

  for await (const chunk of stream) {
    sendChunk(chunk.output);
  }
});