FluxyChat

Getting Started

Gallery examples

Copy-paste Vite apps on the same room Durable Object.

Each template is a product shape, not a claim that FluxyChat is MQTT, netcode, or an SFU. The Do not column is the scope of that example. Open two tabs unless noted. Worker URL plus a pk_ / public room id or a member JWT.

npx @fluxy-chat/create-fluxy-chat@latest my-cursors --example live-cursors
npx @fluxy-chat/create-fluxy-chat@latest my-cursors-chat --example live-cursors-chat
npx @fluxy-chat/create-fluxy-chat@latest my-vanilla --example javascript-live-cursors
npx @fluxy-chat/create-fluxy-chat@latest my-doc --example tiptap-room
npx @fluxy-chat/create-fluxy-chat@latest my-war --example war-room
npx @fluxy-chat/create-fluxy-chat@latest my-iot --example iot-panel
npx @fluxy-chat/create-fluxy-chat@latest my-draw --example draw
npx @fluxy-chat/create-fluxy-chat@latest my-deal --example deal-room
npx @fluxy-chat/create-fluxy-chat@latest my-nda --example negotiation-room
npx @fluxy-chat/create-fluxy-chat@latest my-room --example shared-ai-room
npx @fluxy-chat/create-fluxy-chat@latest my-fleet --example fleet-panel
npx @fluxy-chat/create-fluxy-chat@latest my-game --example game-tick
npx @fluxy-chat/create-fluxy-chat@latest my-stage --example voice-stage
npx @fluxy-chat/create-fluxy-chat@latest my-comments --example comments-board
npx @fluxy-chat/create-fluxy-chat@latest my-polls --example polls
npx @fluxy-chat/create-fluxy-chat@latest my-board --example whiteboard
ExamplePrimitiveScope (do not stretch)
live-cursorssendCursor / type: cursorNot client_event for pointers
live-cursors-chatcursors + useChatOne JSON socket. ?overlay=1 is OBS-transparent, not Overlayed Electron
javascript-live-cursorsvanilla connect + type: cursorReact not required
tiptap-roomYjs useStorage + CollaborationNot a second CRDT
war-roomuseChat + invokeAgent + AvatarStackSame room WS. scheduleAgent is room-DO cron, not a CF Agents SKU
iot-panelHTTP ingest + iot.readingNot MQTT. Hosted: iotAutoAgentId on publish-config invokes an agent without @mention.
drawcursors + client-ephemeral-dotNot 60 Hz broadcast
deal-roomquorum + visibility whisper + invokeAgent + feedsTwo tabs: ?seat=buyer and ?seat=counsel. Guest room for whispers (shared member JWT is one user). Traces are feeds, not chat. Cross-org is REST /cross-org.
negotiation-roomsame two-seat room + clause policy auto / ask / denyLegal/procurement counterparties. HITL on ask. Not Harvey. Pin rooms["nda-*"].makerChecker.
shared-ai-roompk_ guest widget + optional invokeAgentFirst contact without console signup. Deploy apps/worker with wrangler; this template is the UI.
fleet-panelPOST /fleet/gps then fleet.gps_updateNot MQTT. Geofences: listFleetGeofences
game-ticklobby + game.tick / game.match_endedAuthoritative input on the room, not Colyseus Schema
voice-stagejoinVoiceStage signalingBring LiveKit for the media plane
comments-boarduseThreads + FloatingComposerNot chat parentId as pins
pollscreatePoll / votePollTimeline polls. Anonymous ballots: POST /polls isAnonymous
whiteboardYjs strokes + cursors + Comment pinsYjs on the room DO, not a tldraw SKU

Health is not HIPAA. Stream WHIP/HLS needs Cloudflare Stream secrets; there is no gallery WHIP example yet. Voice numbers: Voice load report.