Yes for this example I could have made this isomorphic. But i’m tending to move away from that concept entirely. We can still achieve optimistic UI but it doesnt have to be live-query doing the job. The thing about isomorphism/ database everywhere is its expensive. When your app is at scale, its hard to scale out when your server is tracking queries constantly. At workpop we tend to use Server only methods, and spoof latency compensation with redux. Its perfectly fine to dispatch to the store before updating the server.
Checkout Redux Optimist for a fine grained solution for optimistic updates.