@sydney and I discussed the new direction extensively today and reorganized the project timeline. First on the docket is alpha+ (0.1.0+), a rewrite of the alpha client to be far simpler.
Our main focus was finding ways to pair down the complexity of the client-side code for the project; a lot of the issues that arose were from the client becoming over-complicated and much too smart for its own good. I think the degree to which frameworks like React are abstracted away from the DOM results in code that can be much bulkier than needed.
Anyways, we're thinking about ways of keeping the interface and code for rendering the interface as simple as possible. Seriously looking into Svelte and Sapper as an alternative approach. Being closer to the actual DOM and thinking a bit more template-y could be useful here. Also would rid us of nastyness that is Redux. Plus, feeling that React and friends are a bit fat and we're trying to keep Pith as essential and slim as possible.
This is totally new territory for me; I've only ever used React and plain HTML/JS. This project is a great opportunity to learn a different approach that doesn't feed into the JS bloat that is taking over every site on the internet. I really don't want 5s load times for massive JS modules just to download to render a pretty basic page. Plus, we're at a crossroads in this project and continuing down the same path would mean probably not doing something different for a long, long time. Might as well start now.