Skip to Main Content

Gemini Display Kit

Built at Google I/O Hackathon · May 23, 2026 · San Francisco, CA

Demo video · www.youtube.com/…

Three commands ship a Gemini-powered game on Meta Ray-Ban Display. Meta's smart-glasses Web App surface just opened up. It's a 600×600 HUD driven by Neural Band swipes — powerful, but it can't hold an API key, open a camera, or call Gemini directly. Every developer trying to build something good on it has to reinvent the same stack: a bridge server, an SSE pipe, a Cloudflare tunnel, an install QR, and wrappers for every Gemini surface. Gemini Display Kit packages that stack as a CLI + SDK. npx gdk create my-game --template adventure && gdk dev boots the bridge, mints the install QR, and the game is on the lenses in 90 seconds. The framework treats Gemini Managed Agents as the creative spine, not a chat box. The repo ships real captured code_execution_call traces in-tree at examples/prompt-arena/data/traces/m_emberton.json — a managed agent that wrote Python and ran it in a remote Linux sandbox to tune a monster's battle strategy. Scrollable proof of server-side code execution, persisted state, and structured output. That's the managed-agents prize claim, committed to git. 
Two original games ship as live demos: OMNI-ODYSSEY is a generated illustrated adventure. Gemini Flash narrates each beat with memory across choices; Nano Banana paints every scene on demand; Veo opens it with a cinematic. The audience plays too — they scan a QR for /conjure, describe a monster in plain English, Nano Banana paints it, and it appears in the live on-stage story as an encounter their character must face. Pure generation; vision input never used. PulseBlade360 is an original 360° wearable rhythm game. Gemini Flash designs the level structure as JSON, Lyria scores the backing track, a managed agent reviews the level for balance. The player turns and swipes as targets enter the hit zone. Not Beat Saber; not an image analyzer. Built 100% during the hackathon (2026-05-23). Every commit timestamp is within event hours; PROVENANCE.md is the file-by-file ledger. The only non-original code is @google/genai and qrcode npm deps. Google APIs used: Gemini 3.5 Flash (narration + structured JSON), Gemini Managed Agents via the Interactions API with code_execution_call and persistent threads, Nano Banana (gemini-3.1-flash-image-preview) image generation, Lyria 3 music generation, Veo image-to-video for cinematics, Gemini TTS, and the @google/genai JavaScript SDK.

Team