Seriously, how hard can it be? It's not like it's a completely new form of interaction. Vim and emacs are the ones that are exceptions in regard to UX.
I use qutebrowser (has vim-bindings), sway wm (I've customised it to have vim-bindings), zsh (with vim-bindings), weechat (with vim-bindings), mutt (still getting started with mutt, but it has vim-bindings too), and vim itself. These are pretty much the only pieces of software I interact with, so you can imagine how central vi/vim-bindings are in my life.
The basics are easy. A rudimentary normal mode with HJKL for movement is not hard. Block-select, sensible paragraph hops, copy/paste registers, repeatable macros, etc. is much harder to get right, and rough corners there can be a deal-breaker. Vim is a lot more than moving a cursor with your right hand.