Andrew merge in shiny

Merging in shiny stuff that couldn't wait for this overhaul get onto prod.
Nvm, obviously we wouldn't know how to translate into ggplot2! It's a stand-alone library. Normally ggplot2 examples are scripts, but we are just using a placeholder model (json) example. This is OK.