
Free, open source library to build real-time collaboration applications like whiteboards,
diagram editors, etc. on HTML5 Canvas with your own UI!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
weavejs-demo.mp4
Weave.js is a powerful headless framework for building end-to-end collaborative whiteboard applications. Aimed at developers, it provides all the building blocks to develop visual collaborative canvas applications, while handling user interactions to enable real-time collaboration among multiple users.
It provides robust synchronization of a shared-state based on Yjs and SyncedStore as well as an extensible API to streamline the development of interactive, collaborative applications. Rendering is handled using Konva.js and a custom React Reconciler.
- Weave.js showcase backend
- Weave.js showcase frontend
- Node.js:
18.18.0
or later. - Package Manager:
pnpm
is used in the examples below.npm
oryarn
can also be used. - React:
18.2.0
(or<19.0.0
) is required as a peer dependency.
For a complete understanding of the requirements and detailed setup instructions, please visit the official documentation.
Here’s how to quickly get a sample Weave.js project up and running using pnpm
. You will be prompted to enter project names.
In your terminal:
pnpm create weave-backend-app
cd [my-service]
pnpm run dev
The backend server will start (at http://localhost:8080
).
In a new terminal (ensure you are in the same parent directory as your backend project):
pnpm create weave-frontend-app
cd [my-app]
pnpm run dev
The frontend application will start at http://localhost:3030
. Open your browser to this URL to try out the sample application.
This basic setup uses an Express.js backend with a WebSockets store. For further details, alternative stores, or troubleshooting, please consult the full quickstart guide.
To unlock the full potential of Weave.js, we recommend exploring our official documentation:
- Full Documentation & Guides: Your complete reference for all features and APIs.
- Architecture Overview: Get a high-level understanding of the framework's design and core principles.
The following table provides a high-level overview of our approximate roadmap. For detailed information on planned features and the most current timeline, please consult the official Weave.js roadmap.
Quarter | Focus Area |
---|---|
Q3 2025 | Mobile gesture support improvements, Smart Guides Plugin |
Q4 2025 | Connector Tool, Sticky Notes Tool |
Q1 2026 | Awareness enhancement, Comment plugin, Minimap Plugin |
Q2 2026 | Other cloud providers stores |
Q3 2026 | Koa server, Fastify server, NestJS server |
Q4 2026 | Bindings kit for Vue, Bindings for Svelte |
We welcome contributions from the community! Whether you're fixing a bug, adding a new feature, or improving documentation, your help is valuable.
Before you start, please take a moment to read our Contributing Guide. It provides detailed instructions on how to get your contributions accepted. Please note that you'll need to sign our Contributor License Agreement (CLA) before we can accept your pull request.
Here's a quick overview of how you can contribute:
- Discuss: Open an issue to discuss the changes you'd like to make.
- Fork & Branch: Fork the repository and create a new branch for your work.
- Develop: Make your changes, following the project's coding style. Our
CONTRIBUTING.md
has detailed instructions on setting up your development environment. - Pull Request: Open a pull request and link it to the issue you created.
We look forward to your contributions!
This project is licensed under the terms of the Apache-2.0 license.
© 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)