By collaborative web app I mean apps with desktop-like interactions and realtime collaborations, such as Notion, Discord, Figma, etc.
I want to find an approach suitable for small teams, simple but not necessarily easy, fast by default, and scalable when it grows.
Thus I started a journey to find out by creating a demo todo app, exploring the tools I welcome all kinds of third-party tools and services, as long as they don't bring in hard-to-replace vendor lock-ins. and methods along the way.
The fast part is mainly concerned with latency, because most apps won't have much throughput to deal with in the beginning. More specifically, we want the changes made by one client to be delivered to other clients in a portion of the speed of light - less than 100ms in the same geographical region and several hundred ms across the continent. The app is named Todo Light for this reason.
You can play with the end product The result failed to meet our goal for speed, depending on your location in the world. More on this later. here. The client and server code are both hosted on Github.