Yeah the spacemacs-ivy implementation is a good place to start. One decision they've made I disagree with is the abomination of a hydra they've put in (what you get when you press C-o in a ivy minibuffer prompt). If you're interested in a more streamlined one, take a look here:
https://github.com/abo-abo/hydra/wiki/hydra-ivy-replacement