My research has led me to the JS library "automerge" which uses JSON CRDTs and is actually one of Martin Kleppmann's projects. I was watching one of his talks when I realized he was talking about the library automerge which I'd already come across but hadn't strongly considered. I know it's a little bit of a fallacy (appeal to authority) but seeing that he built it really sold it for me.