Getting Started
What to build
Map a product idea to FluxyChat primitives and a gallery example.
Pick a row, scaffold the example, open two tabs.
| You want | Primitive mix | Scaffold |
|---|---|---|
| Live cursors / who is here | Presence | --example live-cursors |
| Cursors + chat overlay | Presence + Chat | --example live-cursors-chat |
| Vanilla JS pointers | Presence (connect + type: cursor) | --example javascript-live-cursors |
| Google-Docs-style editor | Storage + Presence | --example tiptap-room |
| Figma-like board | Storage Y.Array + Presence | --example whiteboard |
| Stamp / ephemeral dots | Broadcast + Presence | --example draw |
| Contextual review comments | Threads + UI Thread / FloatingComposer | --example comments-board |
| Live polls / anonymous ballots | Chat createPoll / votePoll + POST /polls | --example polls |
| Agent war room | Chat + invokeAgent + Presence | --example war-room |
| Quorum / export deal | Chat decisions + export REST | --example deal-room |
| Device telemetry panel | HTTP ingest + server_event | --example iot-panel |
| GPS / fleet | POST /fleet/gps + fleet.gps_update | --example fleet-panel |
| Match lobby ticks | Game HTTP + game.tick | --example game-tick |
| Speaker / listener roster | joinVoiceStage | --example voice-stage |
| n8n / LangChain log | Feeds + API key | Feeds |
| Side-panel assistant | Copilot <AiChat /> | Copilots |
| Inbox + email catch-up | Inbox kinds + digest prefs | Notifications |
Cross-org rooms use REST /cross-org/… on the Worker. Game ticks are server-authoritative inputs, not a full netcode stack. Voice stage is signaling. Clone-quality translation goes through /voice-ai/clone-translate to your media URL. Latency numbers: voice report.