Use RX Observables instead of promises
Make database queries react to changes
Use hash-prefixed routing

(this will be useful for making the app offline)