Bring collaboration to your app
Open-source SDKs, a server, and a dashboard for building real-time collaborative apps. Use the managed cloud service or host it yourself.
Open source on GitHubVariety of
collaboration features
for your app
Start from a working pattern. Each feature below comes with the code that builds it.
1import yorkie from '@yorkie-js/sdk';23async function main() {4 const client = new yorkie.Client({5 rpcAddr: 'https://api.yorkie.dev',6 apiKey: 'MY_API_KEY',7 });8 await client.activate();910 const doc = new yorkie.Document('profile-stack');11 doc.subscribe('presence', (event) => {12 if (event.type !== 'presence-changed') { // initialized, watched, unwatched event13 // get all users connected to the Document.14 // [ {clientID: string, presence: {name: string, color: string}}, ... ]15 const users = doc.getPresences();1617 // show user list18 updateUserList(users);19 }20 });21 await client.attach(doc, {22 // set the initial presence.23 initialPresence: {24 name: getRandomName(),25 color: getRandomColor(),26 },27 });28}29main();
What can you
build with Yorkie?
The Yorkie team builds these two apps on Yorkie. Open one with a friend and watch it sync.
Wafflebase
An office suite with sheets, docs, slides, notes, and boards that people edit together in real time.
- Document
- Every sheet, doc, and note is a Yorkie Document. Pages of a doc live in a
Tree, and notes in aText. - Presence
- Each person's selected cell or caret, drawn in their color.
Scary Island
A cute-spooky 3D adventure in the browser, where up to ten friends explore the island in one game.
- Document
- The quest progress the party shares, and the lobby of open games.
- Presence
- Where each player is and which way they face, sent up to eight times a second.
- Channel
- Monster moves, hits, and barks: messages nobody needs to keep.
Stable.
Reliable.
Manageable.
- Document and Presence
Documents are stored as conflict-free replicated data types (CRDTs), so multiple users can edit the same data at the same time without conflicts. Presence shares each user's state, such as their cursor position and selection, so you can show who is online.
Learn more about Document and Presence - Document Management with Dashboard
Dashboard lets project members browse the documents stored in a project and monitor them in real time.
Learn more about Dashboard - Cloud or Self-Hosted Server
Start on the managed cloud service without setting up any infrastructure, or run the open-source server on your own machines when you need control over your data.
Learn more about Self-Hosted Server
FAQ
Yes, Yorkie is free to use. You can access it at no cost.
Yes, Yorkie is ready to use in production.
Yorkie has achieved production-ready status and is currently operating as a stable and reliable service. Its robustness has been thoroughly validated through extensive testing at NAVER, establishing it as a dependable solution for production environments. If you encounter any problems while using Yorkie, please report them to the Yorkie community so that they can be addressed as quickly as possible.Yorkie is an open source project, so there are many ways to contribute to its development.
One way to contribute is by reporting any bugs you encounter while using the service. You can also submit pull requests with improvements or new features that you have developed. If you plan to use Yorkie in your company, you can also consider donating to the Yorkie community to support its continued development. You can learn more about how to contribute to the Yorkie project on its website or by visiting our Discord.