Thanks for this.
I'm curious to know: why did you include two routing engines (OTP and valhalla)? Wouldn't e.g. OTP sufficient and use much less resources compared to 2 setups?
And why not reuse one of the existing open source map or directions front-ends?
OTP is a resource hog (for good reason, it solves a harder problem than valhalla). Covering a US state is very much pushing it for OTP, and covering the planet wouldn't work at all on any hardware.
I didn't use OTP's frontend because I found it unpleasant to use. Valhalla's frontend wouldn't work well with OTP and I don't find it terribly pleasant to use either.
Neither work on mobile, and neither work with vector maps, it seems? I haven't tried out GraphHopper's UI though.
And why not reuse one of the existing open source map or directions front-ends?