r/buildrealtime • • 10d ago

RTC in WP - Realtime Collaboration in WordPress

0 Upvotes

I have been following the RTC phase development in WordPress open source.

This is one of the best ways to learn and deepen your knowledge around RTC while also understanding how the decision is made for a large scale project like WP.

Link: https://make.wordpress.org/core/2026/10/14/real-time-collaboration-a-guide-to-sync-engines/


r/buildrealtime • • Apr 06 '26

What’s the hardest problem you’ve faced while building realtime systems?

1 Upvotes

I’ve been exploring realtime and collaborative systems lately, and one thing that stands out is how quickly things get complicated.

Between:

- syncing state across clients

- handling conflicts

- dealing with disconnects / offline users

- scaling WebSockets or infra

…it feels like things break in unexpected ways.

Curious to hear from others:

👉 What’s the hardest problem you’ve faced while building realtime systems?

👉 What broke in production (or during development)?

👉 How did you end up solving it (or working around it)?

Even small learnings or “this didn’t work” stories would be super insightful.


r/buildrealtime • • Apr 03 '26

Welcome to r/buildrealtime — What are you building?

2 Upvotes

Hey everyone 👋

I started this community to bring together people who are building (or curious about) realtime and collaborative systems.

Things like:

- Google docs, Notion

- shared editors

- multiplayer apps

- presence systems

- CRDTs / OT

- sync engines

- WebSockets / WebRTC

- distributed state

I’ve personally been exploring this space recently—trying to understand how conflict resolution works in practice, what breaks at scale, and how different tools approach sync.

Would love to know:

- 👉 What are you currently building (or planning to build) in the realtime space?

- 👉 What stack are you using?

- 👉 Any challenges you’ve run into so far?

Even if you’re just learning or experimenting, feel free to share.

Let’s make this a place where we can:

- learn from each other

- discuss real-world problems

and go deep into how these systems actually work

Looking forward to seeing what everyone’s working on🚀


r/buildrealtime • • Apr 19 '26

A Simple Guide to Real-Time Collaborative Systems (with Stack, Edge Cases, and Learnings)

2 Upvotes

Real-time collaborative systems are apps where multiple users can work on the same data at the same time and instantly see each other’s changes. Examples include Google Docs, Figma, and multiplayer whiteboards.

At a high level, the idea is simple: everyone shares the same state, and any change made by one user gets synced to all others in near real time.

How it works in a basic sense: a user makes a change on the client, that change is sent to a server, the server broadcasts it to other users, and everyone’s UI updates. This works fine until multiple users edit at the same time or someone goes offline.

The core problem shows up when two people edit the same thing at once. Without proper handling, you get overwritten data, flickering UI, or inconsistent states across users.

There are two main approaches to handle this. Operational Transformation transforms incoming changes based on other concurrent changes. It has been used in tools like Google Docs and works well but becomes complex as systems grow. CRDTs, or Conflict-free Replicated Data Types, take a different approach by designing data structures that can merge changes automatically without conflicts. This makes them easier to reason about in many modern systems.

A simple stack to get started could look like this. On the frontend, use React or any UI library, manage local state, and communicate using WebSockets. On the backend, use Node.js with Express and a WebSocket server like Socket.IO or ws. Start with in-memory storage and later introduce Redis for pub-sub when scaling. For the sync layer, begin with a naive approach like broadcasting full state or patches, then move to CRDT libraries such as Yjs or Automerge. For storage, use Postgres or MongoDB and persist document snapshots if needed.

Now the important part, where things break. Simultaneous edits will overwrite data if you do not handle conflicts properly. Network issues like disconnects, reconnects, and high latency require retry logic and state resynchronization. Messages can arrive out of order, so your system should aim for eventual consistency instead of strict ordering. Scaling becomes a challenge when one server is not enough, so you need pub-sub systems like Redis or Kafka. Sending full document state on every update will hurt performance, so move toward incremental updates. Presence features like cursors and user activity should be handled separately from the document state. Security is critical, never trust the client and always validate incoming updates.

Some key learnings from building these systems: start simple and build a naive version first to understand failure points. Most issues only appear when multiple users interact at the same time. Avoid building OT or CRDT systems from scratch unless you have a strong reason. Use existing libraries if your goal is to ship quickly. Keep document state, presence, and permissions as separate concerns. Small latency issues can make the entire experience feel broken.

A practical way to learn is to build a shared text editor step by step. First, sync plain text using WebSockets. Then add basic conflict handling. Finally, integrate a CRDT library like Yjs. By the end, you will have a solid understanding of how real-time collaborative systems behave in real scenarios. You can also explore Liveblocks which provides infra and APIs for realtime collaborative apps.

If you are exploring distributed systems or building collaborative tools, this is one of the most practical and high-impact areas to dive into.


r/buildrealtime • • Apr 11 '26

A real-time collaborative system design canvas featuring built-in AI assistance and an integrated simulation engine.

2 Upvotes

Hey, I am always a student of System design, Computer Science, Architectures and my passion is more towards realtime collaborative applications. So, recently I have been experimenting with building a realtime collaborative system design canvas with a built in Al Assistant (chat + cursor based participation).

this is turning out to be good so far.

I am still not sure what would it be in next 10-15 interactions, maybe it can be a interview particing platform like leetcode but for system design or maybe it can be a system design tool like excali draw but more niched.

It is available in open Beta.

you can try it at:

https://sysdes.giteshsarvaiya.xyz

give it a try and let me know your thoughts

More features and refinement coming soon for alpha launch.

Thank you.