Full example using bidi and pushy to push (some) app state into the window location, and keep it all in sync past browser reloads.
Bootstrapping: brew install clojure
Running figwheel: make dev
Production build: make prd
(closure whitespace compile) or make min
(closure advanced compile)