We have purchased some data (database of business locations, database of consumer trends) that we integrate into our "premium" reports. You don't see any mention of those because we haven't rigged up an e-commerce system. But some users have more reporting options than what you see.
Regarding dev mode, I'm having trouble getting the 'ReportViewer' component, which depends on JIT compilation to jive with angular-cli's built-in AOT compilation functionality. Thus `ng build` works when I build it in dev mode, but not prod.
Let me know if you'd like to chat more, michael@realsmart.io
Census data is relatively easy to get used to once you know how the geo formats work and you are willing to work with their geographies. They have a nice API to work with (api.census.gov) and I think that it is going from its current array of arrays format to full JSON later this year.
That said, the app does two cool things that I have not seen anywhere else:
(1) Arbitrary geographies, like drawing a circle or a polygon of your own choice, requires significant additional work. The app mostly does this with procedural SQL and PostGIS on the back-end.
(2) Longitudinal reporting. The Census bureau changes the geographies every 10 years to some degree, so geography with id "foo" might not be the same area in 2010 as it will be in 2020. This is solved by "virtualizing" the geography and is relevant to the same concepts for handling arbitrary geographies.
Read the book through, I dare you.