HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ueberdosis
hocuspocus
TypeScript2023–2026
ueberdosis / hocuspocus

hocuspocus

The Yjs CRDT WebSocket backend for conflict-free real-time collaboration in your app.

4Distinct people
7Mentions
0Explicit recommenders
2.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The Yjs CRDT WebSocket backend for conflict-free real-time collaboration in your app.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year7 dated mentions

Observed mentions: 2023-01-18 16:43:45 UTC to 2026-05-20 14:51:00 UTC.

0123452023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC523
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

7 sources

Show HN: Hocuspocus 4 – self-hosted Yjs collaboration backend

Hi HN! I'm Philip, one of the founders of Tiptap. Next to our open-source rich text editor framework, we started developing Hocuspocus about five years ago and open-sourced it too, to solve one of our biggest challenges back then: real-time collaboration in web editors. We found Yjs by Kevin Jahns, a CRDT library that handles concurrent edits without conflicts. Basically, Yjs merges changes from users without conflicts and in real-time. Hocuspocus is the WebSocket server built on top of Yjs. It handles real-time sync, presence/awareness, persistence, and Redis-based scaling. While we use Hocuspocus at Tiptap as the collaboration backend for our cloud services, it also works with any Yjs client (Slate, Quill, Monaco, ProseMirror, or your own setup), and Yjs documents aren't limited to text at all. You can sync any structured data through t
Read the rest
hem, and in the meantime we see projects that rely on Hocuspocus without using the Tiptap editor. We released Hocuspocus v4 under the MIT license a few weeks ago, and the biggest change is that it's no longer tied to Node. The previous versions depended on the ws package, which meant you couldn't run Hocuspocus on Bun, Deno, or Cloudflare Workers. We moved to crossws, a universal websocket adapter, so the same server now runs on Node, Bun, Deno, Cloudflare Workers, and Node with uWebSockets. That also lets you run collaboration at the edge. The other changes are smaller but are important if you're using Hocuspocus in production: 1. Every core class and hook payload takes a generic Context type now, so the auth/session shape you build in onAuthenticate flows through every other hook with full type safety (defaults to any so existing code doesn't break). 2. Document updates are now processed sequentially per connection through an internal queue, which fixes a correctness bug where async hooks could cause CRDT updates to apply out of order under load. 3. Transaction origins are structured objects now with a source field instead of raw values and there's an isTransactionOrigin() helper for narrowing. 4. Hook payloads use web-standard Request and Headers instead of Node's IncomingMessage. 5. The wire protocol is backward compatible in both directions, so you can roll out servers and providers independently. If you want to test Hocuspocus: npm install @hocuspocus/server @hocuspocus/provider Docs at: https://tiptap.dev/docs/hocuspocus Source at: https://github.com/ueberdosis/hocuspocus Because running real-time collaboration on Workers or Durable Objects is new in v4, that's the use case we'd most like to hear your questions and feedback on.
38 points · Open discussion
At this point, given the maturity of libraries (I was exploring this recently), I think you'd have to make the case that CRDTs are bad not just "too much". Interfacing with the 'blob' is a real thing (y-js is solving some of this with a rust implementation that has cross language binding) but generally the things they noted (e.g. a Figma canvas) aren't things you commonly do joins across and if you did you'd have an independent indexing store for that functionality. With tools like SyncedStore [1] and HocusPocus [2] you end up with a pretty good, we'll tested, easy to implement base for good collaboration. [1] syncedstore.org [2] github.com/ueberdosis/hocuspocus
In You don't need a CRDT to build a collaborative experience
philipisik·Aug 1, 2023Submission

Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

Hi HN! We're Nick, Patrick, Philip, Sebastian, Sven, and Timo from Titap (https://tiptap.dev/), an open source developer toolkit for building collaborative editing apps. Our editor framework, based on ProseMirror, is at https://github.com/ueberdosis/tiptap, and our real-time collaboration backend, based on Yjs, is at https://github.com/ueberdosis/hocuspocus. Building editor interfaces like Notion or Google Docs in your web app takes a lot of work and time. Our open source tools and cloud services let you build collaborative content editing faster—in days or weeks, rather than months or years. And this is just for the editor. If you want real-time collaboration or other advanced features like version history in your editor, the overall workload quickly escalates—you will need a robust and serious backend infrastructure that requires even m
Read the rest
ore time to set up and maintain. This doesn’t make sense for most frontend developers or most startups. We spent eight years as a digital agency developing applications with complex content editing functionality. We learned the hard way how limited the existing editors were. After building Tiptap as a headless editor framework with an extension-based architecture, we needed to allow multiple users to edit content simultaneously, which got complicated. There was no simple solution that could be integrated quickly. So we built that too. The Tiptap editor is based on the JS framework ProseMirror, which is a good foundation for editors. The learning curve for ProseMirror is steep because it's complicated to understand and lacks simple APIs and documentation. It takes a lot of code around ProseMirror to develop a modern user experience. We’ve taken care of that for you. Tiptap is headless, so it will work with whatever frontend or design you have in mind—we make no assumptions about your UI. You can use it to develop block-based editors like Notion, classic interfaces like Google Docs, or whatever you need. It's also framework agnostic, so you can use it with React, Vue, etc., or vanilla JavaScript. And it's highly customizable through our extension architecture. We also provide an API to access ProseMirror's internals through Tiptap if you want to dig deep into the core. Adding real-time collaboration to your editor is as easy as installing and configuring an extension. Our collaboration backend, called Hocuspocus, uses Yjs. This is a widely used implementation of CRDTs (conflict- free replicated data type). Hocuspocus makes it easy to set up a Node.js websocket server to handle communication between multiple peers to synchronize data. Like the Tiptap editor, Hocuspocus is designed to be extensible according to your needs. Also, Hocuspocus can work independently of Tiptap with other editors like Lexical or Slate. An earlier version of Tiptap got discussed a couple years ago at https://news.ycombinator.com/item?id=26901975. We’ve been enjoying wider adoption since then. For example, Substack uses Tiptap for their editor that allows creators to write content on substack.com, and YC uses Tiptap in their Bookface forum (which is basically HN for YC alums). With the Tiptap Cloud, we offer managed backend services if you don't want to build and maintain every feature yourself. For real-time collaboration, we provide a cloud infrastructure with multiple datacenter regions where you can deploy Hocuspocus. The Tiptap AI integration beta is a service where you connect your OpenAI API key to our backend and install the Tiptap editor AI extension to get AI writing experience in your editor. Here’s a demo: https://ai-demo.tiptap.dev/ We invite you to explore Tiptap's capabilities in your app, contribute to its open source development, and (hopefully!) join our welcoming community. We'd love to hear what you've already built with Tiptap or what's stopping you from creating something with it :-) We look forward to all of your comments!
246 points · Open discussion
Anything CRDT (conflict free replicated datatypes: https://en.wikipedia.org/wiki/Conflict-free_replicated_data_...) related is fun to read up on and play with. Papers and references (page maintained by central academic in the world of CRDTs): https://crdt.tech Group doing research into how they can be used to build interesting collaborative (and async) applications: https://www.inkandswitch.com A few of the major open source implementations - mostly for rich text editing or JSON like data structures: - Yjs: https://github.com/yjs/yjs - Automerge: https://github.com/automerge/automerge - Peritext: https://www.inkandswitch.com/peritext/ - Dimond types: https://github.com/josephg/diamond-types People building eventually consistent database syncing with them: - https://electric-sql.com (Postgres <-> SQLite) - https://vlcn.io (SQLite <-> SQLit
Read the rest
e) Open source colaborative servers (coordination, persistance, presence): - https://github.com/ueberdosis/hocuspocus - https://github.com/partykit/partykit - https://github.com/firesync-org/firesync
In Ask HN: What is new in algorithms and data structures these days?
It's Release Day: Tiptap Stable Release, Tiptap Collab & Hocuspocus 2.0.0 are out! We set ourselves some bold goals this year and are delivering with our biggest releases yet. Tiptap Editor Stable Release We have released the 2.0.0 stable version of the Tiptap Editor. After 24 months in beta and a challenging last year, we have taken Tiptap to the next level! From now on, semantic versioning applies. The Tiptap editor is now an adult: https://github.com/ueberdosis/tiptap/releases/tag/v2.0.0 Tiptap Collab Release Beta After six months of work, we finally announce the launch of Tiptap Collab, the Plug'n'Play real-time synchronization and collaboration cloud for your app. It's Hocuspocus on steroids in the cloud: https://tiptap.dev/hocuspocus/server/cloud All you need is a Tiptap Pro account and a few lines of code in your Tiptap editor, and
Read the rest
everything is in sync. No matter what content you've stored in your Tiptap editor. And guess what? You can use Tiptap Collab with every app! Since Tiptap Collab is based on Yjs, you can use it for every application, as long as you use Yjs. It’s done with a few lines of code in your app. Hocuspocus 2.0.0 Release After the stable release in January 2023, Hocuspocus gets its first major version update with the new core feature called “Multiplexing”. Multiplexing allows you to synchronize multiple documents over the same websocket connection. This is especially useful when working with multiple documents at the same time and will make this experience even faster: https://github.com/ueberdosis/hocuspocus/releases/tag/v2.0.0 We are excited to invest even more time and commitment into Tiptap and especially look forward to your contribution! Tiptap is a product baked by and for the community and will be even more this year.
In Tiptap Stable Release, Tiptap Collab and Hocuspocus 2.0.0 Are Out

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.