If anybody else needs this kind of system, most GraphQL clients (at least in the JavaScript ecosystem) handle all of this out of the box or can be extended to work this way with minimal effort. They have a client-side cache for the whole app that you can optimistically update, all network requests run through that, it handles rolling the updates back when responses come in, etc. Examples in the JS ecosystem that I am…
> If anybody else needs this kind of system, most GraphQL clients Well, the client is probably the easiest and the most boring piece of the puzzle. What you do in the backend matters.
https://cdn-images-1.medium.com/max/2400/1*ttu76ysGchnhH3CyT...