Excalidraw-style canvas with live multi-user collaboration

Real-time collaborative whiteboard where multiple users draw, chat, and edit the same canvas together over WebSockets.

codraw · live — rough.js canvas

// shapes: rectangle, ellipse, diamond, arrow — drawn with rough.js

// your rooms

Jump back in

Your rooms

// features

Everything you need to draw together

01

Full drawing toolset

Pencil, rect, circle, diamond, arrow, line, text, image, eraser and frame — plus grouping and multi-select.

02

Real-time sync

Shape diffs, live presence cursors and in-room chat over WebSockets, with auto-reconnect using exponential backoff.

03

Conflict-safe autosave

Optimistic concurrency with 409 merge handling — your edits are never silently overwritten.

04

Canvas UX

Undo/redo, pinch-to-zoom, touch support, minimap and present mode.

05

Export & images

Export to PNG, SVG or JSON, and upload images with LRU caching.

06

Security

Custom HS256 JWT auth, bcrypt, per-IP rate limiting and revocable sessions.

// tech stack

One toolchain, three services

next.js 15react 19typescriptbunpostgresql / prismaturborepoaws ec2

// under the hood

The boring details, done right

architecture

$ monorepo — 3 apps + 4 shared packages

$ persistence — versioned optimistic concurrency

$ renderer — custom canvas engine, dirty-rect + layer caching