Build collaborative canvas applications
Build collaborative canvas applications
Created for developers, Weave.js is an open-source library that provides all the building blocks, plugins, and APIs to develop visual collaborative tools at the speed of light.


Focus on your product features, we manage the rest
- Shared state model that allows collaboration. A structured data layer to model your applications' needs.
- Real-time shared state synchronization. Built-in mechanisms for syncing shared-state across clients using atomic diffs and pluggable transport layers.
- Rendering and interactions (User Interface). A decoupled rendering and interaction layer with a simple API to handle shared state changes, user interactions, and custom behaviors. A headless solution (in terms of UI).

Get started in three easy steps...
Extend, customize and develop on top.
Create the backend
Initialize the backend boilerplate server, using Express to handle the real-time synchronization.
pnpm create weavejs-backend-app
Create the frontend
Initialize the frontend application boilerplate, using Next.js as the UI framework.
pnpm create weavejs-frontend-app
Build it
Unlock Weave.js full potential with nodes, plugins, actions, and stores. All while customizing the look & feel.
It comes with best-in-class documentation and developer experience.

whiteboard applications

UI-agnostic
Integrates with the UI framework of your choice
Change the UI using our included primitives or build a new one. With Weave.js, you get a unified system that includes a high-performance, fully customizable whiteboard so you can focus on building the product.

Powerful abstractions
Made for developers
Keep what you need, discard the rest, and build your own. Stores handle the real-time sync complexity while nodes, plugins, and actions allow for selection, drawing, erasing, creating geometric shapes, and perfect freehand drawing to smooth development.

React Helper library
Easy integration into React projects
Our React Helper library provides all the necessary components to easily integrate Weave.js on top of React projects.

Light & well-built
Optimized for real-time
Weave.js only syncs minimal state changes -not the full tree. It uses a custom React Reconciler under the hood to detect and transmit mutations with maximum efficiency. Lower overhead, higher performance for live collaboration.