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.

preview
Architecture

Focus on your product features, we manage the rest

Weave.js abstracts the complexity of building real-time, collaborative apps from scratch by handling the three core pillars of any collaborative visual tool:

  • 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...

Weave.js toolset provides a complete canvas experience.
Extend, customize and develop on top.
1

Create the backend

Initialize the backend boilerplate server, using Express to handle the real-time synchronization.

pnpm create weavejs-backend-app
2

Create the frontend

Initialize the frontend application boilerplate, using Next.js as the UI framework.

pnpm create weavejs-frontend-app
3

Build it

Unlock Weave.js full potential with nodes, plugins, actions, and stores. All while customizing the look & feel.

Free & Open Source
Weave.js is actively maintained and open for contributions.
It comes with best-in-class documentation and developer experience.
Github logo
An e2e solution to build collaborative
whiteboard applications
UI Framework Agnostic

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

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.

Source

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.

Source

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.

Frequently asked questions
Have more questions? Contact us and we’ll respond as quickly as possible

Get started in minutes
Try Weave.js for yourself. Follow the quickstart and start building your own collaborative canvas in minutes.