The main design decisions I have made on it and my reasoning are:
RPCs for communicating with the backend. This may be bias from the longest stint of my career being at Google but I do really like how the whole API surface can be catalogued in one place and that it is theoretically possible for someone to take those and know exactly what they need to implement to make a new backend.
Backend is written in Rust. This is really just to learn a new language and it's been pretty fun to use.