I was playing around with a #LeverageJS based system that works like #RemixRun a few months ago. I'm realizing now that the most challenging thing that Remix handles effortlessly is state. The way it handles actions, loaders, and future renders is really intuitive but technologically challenging.