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?