All 30 Dependencies
Every package pad.ws depends on, ranked by repo health score.
pad.ws merges the freeform expressiveness of an interactive whiteboard with a fully functional development environment, all running in the browser. Built on a fork of Excalidraw, it lets developers sketch architectures, write diagrams, and embed live terminals or VS Code sessions directly into their canvas as interactive elements — no switching between apps.
Under the hood, pad.ws uses a Python FastAPI backend backed by PostgreSQL for canvas persistence and Redis as both a session store and a real-time message bus. Real-time collaboration is handled via WebSocket connections feeding into Redis streams and pub/sub channels, with a background CanvasWorker that asynchronously processes canvas state and periodically flushes it to the database. Each pad tracks per-user viewport state, enabling multiple collaborators to have independent views of the shared canvas.
Cloud development environments are powered by Coder, which provisions containerized workspaces on demand. The pad application communicates with the Coder API to start, stop, and introspect workspaces, then embeds the resulting terminal or VS Code connections directly into Excalidraw embeddable elements. Identity is managed through Keycloak via OpenID Connect, giving each user a secure, authenticated workspace tied to their identity.
pad.ws is self-hostable via Docker Compose and is actively evolving toward a shared cloud development model where teams can collaborate in real time — drawing, coding, and executing in the same unified space.