Real-time collaborative drawing — React frontend + Rust/Axum backend, Supabase Postgres persistence.
frontend/ React 19 + TypeScript + Vite + Tailwind v4
server/ Rust + Axum WebSocket server + sqlx
# 1. Backend
cd server
cp .env.example .env # fill in DATABASE_URL
cargo run
# 2. Frontend (new terminal)
cd frontend
cp .env.example .env # optional — dev proxy works without it
pnpm install
pnpm devOpen http://localhost:5173.
- Shapes: rectangle, ellipse, line, freehand, text
- Select + edit color / stroke width
- Zoom & infinite pan
- Undo / redo (synced to all clients)
- Rooms — share URL to collaborate
- Dark mode (persisted)
- Keyboard shortcuts (
?to open help)