Notes.
Notes from building and operating production systems: Node.js under load, GraphQL platforms, autoscaling, and the real-time collaboration running on them.
half idle, fully busy.
A Node pod saturated at 100% event-loop utilization reads 49% CPU, so the autoscaler never fires. What to scale on instead, and two fleets you can watch disagree.
not everything belongs in state.
A drag handle that updates React state on every pointermove re-renders the layout at input speed. Three tiers of state, and a side-by-side divider you can drag.
no one has to agree.
How two people can edit the same document with no server deciding the order. Operational transform, CRDTs, and a live two-replica demo you can type into.
smoothness is latency.
Why remote cursors feel broken, and the ~100ms of deliberate delay that fixes them. Includes a playground that runs your own cursor through a simulated network.
await isn’t free.
Awaiting cached DataLoader hits looks harmless in code review. Under load, the microtask hops, promise allocation, and graphql-js’s async path add up.