I'm starting a new project: building a real-time collaborative code editor, similar to how multiple people can edit the same document at once.

The catch?

I have no experience with WebSockets, CRDTs, collaborative systems, or distributed synchronization.

Instead of following a YouTube tutorial and copying code I don't understand, I'm going to learn every concept from the ground up—even if it means getting stuck, making mistakes, and rebuilding things multiple times.

My goal isn't just to finish the project. It's to understand why it works.