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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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); } });