Ambient meeting copilot

Ship the idea while it's still being spoken.

Sidebar is a panel of AI agents that listens to your meeting and turns a spoken idea into a working prototype in about a second and a half — fast enough that the room reacts to the thing, not the promise.

Built on Cerebras + Gemma 4 ~1,588 tok/s screen-aware • multiplayer
Self-contained HTML Rendered in a sandboxed iframe Strict structured outputs Exports a Google DESIGN.md On-device or cloud transcription In-memory — no database Runs on Bun
The cliff

At GPU latency the artifact is a tombstone. At Cerebras latency it's alive.

Turning a spoken idea into running code is a token-heavy chain, not a single generation. The only variable below is the engine — same prototype prompt, same Gemma 4 family. Watch what speed does to the moment.

Cerebras gemma-4-31b~1,588 tok/s
~1.5s
Local GPU — gemma4:12b~100 tok/s · smaller model
~16.8s
Local GPU — gemma4:31b~50 tok/s · the same model
~46s

On the same 31B model, the local GPU is ~31× slower — a build that lands in 1.5s on Cerebras takes ~46s locally, long after the conversation has moved on. Even the smaller 12B only closes the gap to ~15×. That cliff is the product. Sidebar runs an honest A/B in-app and holds on the dual timer.

The panel

A panel of four. A router runs the room.

Every utterance hits a fast structured router that decides who acts — so the heavy agents never fire on every sentence. The work happens quietly alongside the conversation.

Hero agent
Prototype

A spoken idea — plus the screen, when you point at it — becomes one self-contained HTML document, streamed token-by-token and rendered live in a sandboxed iframe. Striking and runnable in ~1.5s, while the idea is still on the table.

streamed HTMLscreen-awaresandboxed~1.5s
Always on
Summarizer

A rolling, structured record that updates as you talk: a one-line TL;DR, decisions, action items with owners, and the open questions still in the air.

decisionsownersopen questions
On checkable claims
Fact-check

Routed claims are searched on the live web with Tavily, then Gemma judges each against the snippets — verdict, confidence, and a real source URL. Time-sensitive claims lean honest.

retrieve-then-groundcited
The conductor
Router

A strict structured decision per chunk: topic shift, summary update, whether to build (with a one-line intent), whether to fact-check. Conservative by design, cold by sampling.

strict JSONtiny budget
The learning loop
Design DNA

The first build fans out four design languages in parallel. You pick one, and that taste — exported as a Google DESIGN.md — is injected into every later prototype and the closing recap. Preference learning carried through to inference.

fan-out ×4pick onceGoogle DESIGN.md
Design DNA

Pick a style once. Every build after inherits it.

The first idea fans out four ways at once — you choose the one that feels right. From then on, the prototype agent builds in your taste, exported as a Google DESIGN.md — no prompting required.

Material Youpicked
Midnightpicked
Warmpicked
Neonpicked

Four real design systems — Material You, geometric dark, editorial serif, neon mono — fanned out the moment you describe the first thing. Whichever you pick becomes the meeting's Design DNA, expressed as a Google DESIGN.md (YAML design tokens + prose) and baked into the system prompt — so the second build, the tenth, and the final recap all look of-a-piece. Download it from the panel; it passes Google's own design.md linter clean.

runtime → learn(chosen)DESIGN.md → injected into every prototype + the recap

The room

One link. Everyone watches it happen.

Sidebar is multiplayer. A host captures screen and speech; guests open an invite link and watch the same canvas build itself in real time.

Screen-aware

Point at a diagram and say "build it like this." Gemma 4 reads the shared screen — frames go only to the server, never rebroadcast to viewers.

On-device or cloud ASR

Per participant: ElevenLabs Scribe, on-device WebGPU Whisper or Gemma on Ollama, or Web Speech. Private stays on your machine.

Host & guests

A host passcode and unique, revocable invite links. Live presence — cursors, pings, a participant bar — so you see who's in the margin with you.

Meeting context

Drop files into the meeting. Accept a bundle and its contents feed the router, summarizer, and prototype agent — grounded in your material.

Honest A/B

Race Cerebras against a real GPU baseline — same model, same prompt — with both timers running live. No throttling, no faking the slow side.

Shareable recap

End the meeting and a closing agent streams a self-contained HTML recap — summary, decisions, action items, prototypes built, and the meeting's DESIGN.md — in your learned style.

How it works

From a sentence to a shareable artifact.

01

Speak

Speech becomes transcript — on-device or via ElevenLabs Scribe — and lands as a chunk.

02

Route

A strict structured router decides who should act: summarize, build, fact-check — or stay quiet.

03

Fan out

The first buildable idea streams four design languages in parallel, each rendered live.

04

Pick

You choose the one that fits — or a short timeout takes the recommended cut.

05

Learn

That taste becomes the Design DNA — a Google DESIGN.md — injected into every later build for the rest of the meeting.

06

Recap

When it ends, a closing agent drafts a shareable HTML recap in the same learned style.

About the name

side·bar /ˈsaɪd.bɑːr/ n. — a small panel beside the main thing.

We named it when it still fit in the margin — one quiet rail in the corner of your call. Then we kept adding: prototypes, screen vision, live fact-checking, a shared room, a streamed recap. Somewhere in there the sidebar grew into a full system. The name is the only thing that stayed small.

Built by

A two-person build.

Sidebar was made for the Cerebras × Google DeepMind Gemma 4 hackathon. Say hi, or poke at the code on GitHub.

See it for yourself

Make your next meeting build something.

Sidebar is a hackathon MVP that already runs end-to-end — locally, in mock mode, with no API keys. Read the build, run it, or race the speed cliff yourself.

Runs locally in mock mode — no API keys needed.