One of the age-old tricks of maintaining state in distributed systems is to define an explicit, deterministic state machine, then synchronize it everywhere by providing the same set of inputs in multiple places. This would make Automat a great thing to try to get running in the context of a frontend using https://brython.info/ in order to make frontend/backend state synchronization explicit and clear.
But a first step there would be to just get CI running (even if it's failing) to try to run brython.
One of the age-old tricks of maintaining state in distributed systems is to define an explicit, deterministic state machine, then synchronize it everywhere by providing the same set of inputs in multiple places. This would make Automat a great thing to try to get running in the context of a frontend using https://brython.info/ in order to make frontend/backend state synchronization explicit and clear.
But a first step there would be to just get CI running (even if it's failing) to try to run brython.