POC: Set up a node.js/express server and try Angular Universal
As a proof of concept, set up a Node.js and ExpressJS web server with Angular Universal to pre-render the earthquakes site on the server. This could potentially improve first paint performance. If also combined with output caching (ideally limited to just the possible urls configured with the in-site Settings panel), the first paint performance for most users using the common site configurations could be significantly faster (millisecond order vs. second order).
This POC would require server side resources. A Node.js server hosting an ExpressJS web server configured with Angular Universal would be necessary. Creation of the server is fairly strait forward, following the instructions at this url:
https://github.com/angular/angular-cli/wiki/stories-universal-rendering
Output caching configuration would be a key factor here. This site can potentially be served up from a potentially unlimited number of urls. As such, we may need to restrict which urls are output cached. I think initially, output caching only urls that cover the range of possible site configurations as determined by the in-site Settings panel would be necessary. We would then NOT output cache any other urls, such as those configured with the Search page.
Even without output caching, depending on the server resources available for this site, SSR still has the potential to improve first paint performance of the app and make it feel more responsive.