Skip to content

Multiplayer mood board

Pin it once.Everyone sees it.

References, screenshots and scribbles on one canvas, with everybody’s cursor in the room. qqdraw is a mood board that people use at the same time, not a folder they take turns in.

snapshot flush
1.5s
accounts to join a public board
0
Typography specimentype
AaInter Display600 / −0.03em

Form follows quiet function.

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
100%

01 — Collaboration

Cursors carry a name and a colour.

Presence is keyed by connection, not by account, so two tabs are two cursors and a closed tab disappears without taking the person with it.

Each colour is derived from the person’s id, so it is the same on every machine. The tool they have selected rides along with the pointer: you can tell a note from a pan before anything is drawn.

board / spring-palette3 in the room
IMAGE1200 × 900
one connection, one cursor

02 — Persistence

The board is the file.

There is no save button. Elements merge into the room and flush to the cloud on a short debounce, so a reload rebuilds the scene exactly as it was left.

Conflicts resolve by version and nonce, and deletions stay as tombstones. A client holding a stale copy converges with the room instead of resurrecting what someone removed.

scene / board 4f2asaved
  1. 19:41:02elementsrect · x 412 → 796+2
  2. 19:41:03elementstext · v4 → v5+1
  3. 19:41:06presenceAda · 318, 204ptr
  4. 19:41:07filesimage/png · 184 KB+1
  5. 19:41:09elementsframe · deleted · v7−1
  6. 19:41:11flushcloud · 6 elements1.5s

03 — The fork

Built on Excalidraw, then bent.

qqdraw is a fork, not a wrapper. Upstream’s toolset and scene model stay as they are; the parts a mood board needs are replaced. The fork is vendored in this repository and built with its own toolchain, so upstream can still be merged in.

Kept from upstream

  • Toolset

    Rectangles, freehand, text, arrows, frames and images.

  • Scene model

    Elements, versions and fractional indices, unchanged.

  • Merge rule

    Last write wins by version, then by nonce.

Changed for qqdraw

  • Chrome and icons

    Our own toolbar, inspector and presence chips.

  • Minimap and follow

    See the whole board, or ride someone’s viewport.

  • Canvas backgrounds

    Plain, dots, or ruled, remembered per board.

  • Watch build

    The fork compiles into this app while you edit it.

05 — Questions

The things people ask before they open a board.

Short answers, because the product is small: a board, the people on it, and no save button.

Does everyone see what I draw?
Yes. Elements merge into the shared room as you draw them. Each person's cursor carries their name and a colour, and presence is keyed by connection — two tabs are two cursors, and a closed tab disappears without taking the person with it.
Do I have to save?
No. There is no save button. Changes flush to the cloud on a short debounce, so a reload rebuilds the scene exactly as it was left.
Who can open my board?
A public board opens for anyone holding the link. A private one opens for you and the members you invite, by email address — the invitee doesn't need an account yet; the link creates one at sign-in.
Do I need an account?
To own a board, yes — sign in with Google. A public board can be drawn on without one.

Start with an empty board.

It opens in the browser. Everything you draw is saved as you go, and anyone you send the link to draws in the same room.

Analytics
May we measure which pages get used? Google Analytics, no advertising and no profile — board ids are never sent. Privacy policy