My goal is similar to Joseph's (a platform for local first applications using CRDTs), but the approach is slightly different, as I'm building it based on SQLite synchronization using its session extension (https://www.sqlite.org/sessionintro.html) as the encoding mechanism. I plan to incorporate this sync functionality into my web framework (https://github.com/pkulchenko/fullmoon) to allow any application built with it to become "sync-enabled" with just a couple of additional lines of code.