@inproceedings{kleppmann2019localfirst, author = {Kleppmann, Martin and Wiggins, Adam and van Hardenberg, Peter and McGranaghan, Mark}, title = {Local-first software: you own your data, in spite of the cloud}, booktitle = {Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software}, pages = {154--178}, year = {2019}, publisher = {Association for Computing Machinery}, doi = {10.1145/3359591.3359737}, url = {https://doi.org/10.1145/3359591.3359737} } @software{selfhostedlivesync, author = {{vorotamoroz} and {Self-hosted LiveSync Contributors}}, title = {vrtmrz/obsidian-livesync: 1.0.23}, version = {1.0.23}, year = {2026}, publisher = {Zenodo}, doi = {10.5281/zenodo.22247183}, url = {https://doi.org/10.5281/zenodo.22247183} } @software{commonlib, author = {{vorotamoroz} and {livesync-commonlib Contributors}}, title = {vrtmrz/livesync-commonlib: 0.1.19}, version = {0.1.19}, year = {2026}, publisher = {Zenodo}, doi = {10.5281/zenodo.22074979}, url = {https://doi.org/10.5281/zenodo.22074979} } @software{commonlib021, author = {{vorotamoroz} and {livesync-commonlib Contributors}}, title = {livesync-commonlib: Platform-independent replication and synchronisation engine for Self-hosted LiveSync}, version = {0.1.21}, year = {2026}, publisher = {npm}, url = {https://registry.npmjs.org/@vrtmrz/livesync-commonlib/-/livesync-commonlib-0.1.21.tgz} } @software{fancykit, author = {{vorotamoroz}}, title = {vrtmrz/fancy-kit: Fancy Kit repository snapshot 2026.08.24.1}, version = {fancy-kit-2026.08.24.1}, year = {2026}, publisher = {Zenodo}, doi = {10.5281/zenodo.22088208}, url = {https://doi.org/10.5281/zenodo.22088208} } @misc{selfhostedlivesyncrepo, author = {{vorotamoroz} and {Self-hosted LiveSync Contributors}}, title = {Self-hosted LiveSync source repository}, year = {2026}, url = {https://github.com/vrtmrz/obsidian-livesync}, urldate = {2026-09-02} } @misc{obsidian, author = {{Dynalist Inc.}}, title = {Obsidian: A knowledge base that works on local Markdown files}, year = {2026}, url = {https://obsidian.md} } @misc{couchdb, author = {{The Apache Software Foundation}}, title = {Apache CouchDB: Seamless multi-master syncing database with an intuitive HTTP/JSON API}, year = {2026}, url = {https://couchdb.apache.org} } @misc{couchdbreplication, author = {{The Apache Software Foundation}}, title = {{CouchDB} Replication Protocol}, year = {2026}, url = {https://docs.couchdb.org/en/stable/replication/protocol.html}, urldate = {2026-09-07} } @misc{pouchdb, author = {{PouchDB Authors}}, title = {PouchDB: The Database that Syncs!}, year = {2026}, url = {https://pouchdb.com} } @misc{webrtc, author = {{World Wide Web Consortium}}, title = {WebRTC 1.0: Real-Time Communication Between Browsers}, year = {2021}, url = {https://www.w3.org/TR/2021/REC-webrtc-20210126/}, urldate = {2026-09-07} } @misc{obsidiansync, author = {{Dynalist Inc.}}, title = {Obsidian Sync: Secure, end-to-end encrypted synchronisation service}, year = {2026}, url = {https://obsidian.md/sync} } @misc{obsidiangit, author = {Denis Olehov and {Obsidian Git Contributors}}, title = {Obsidian Git: Backup and synchronise your Obsidian vault with Git}, year = {2026}, url = {https://github.com/Vinzent03/obsidian-git} } @misc{syncthing, author = {{The Syncthing Authors}}, title = {Syncthing: Open Source Continuous File Synchronization}, year = {2026}, url = {https://syncthing.net} } @misc{syncthingsync, author = {{The Syncthing Authors}}, title = {Understanding Synchronization}, year = {2026}, url = {https://docs.syncthing.net/users/syncing.html}, urldate = {2026-09-07} } @misc{gitfetch, author = {{Git Contributors}}, title = {git-fetch: Download objects and refs from another repository}, year = {2026}, url = {https://git-scm.com/docs/git-fetch}, urldate = {2026-09-07} } @misc{automergeconflicts, author = {{Automerge Contributors}}, title = {Automerge: Conflicts}, year = {2026}, url = {https://automerge.org/docs/reference/documents/conflicts/}, urldate = {2026-09-07} } @misc{remotelysave, author = {fyears and {Remotely Save Contributors}}, title = {Remotely Save: Sync non-official Obsidian plugin}, year = {2026}, url = {https://github.com/remotely-save/remotely-save} } @misc{trystero, author = {Dan Motzenbecker}, title = {Trystero: Serverless WebRTC matchmaking and data channels}, year = {2026}, url = {https://github.com/dmotz/trystero} } @misc{obsidianplugin, author = {{Obsidian Community Plugins}}, title = {Self-hosted LiveSync in the Obsidian Community Plugin Directory}, year = {2026}, url = {https://community.obsidian.md/plugins/obsidian-livesync}, urldate = {2026-09-02} }