(cross-posting from an earlier Show HN)<p>Hey all, I'm one of the five folks who built this. We just released a 2.0 version[1] which includes local-first sync.<p>A little backstory: I’m one of the authors of the 2019 essay Local-first software[2]. (Past HN discussions[3][4].) The thesis is to reclaim some of the ownership over our data that we’ve lost in the transition from filesystems to cloud/SaaS. So I’m excited to bring CRDT technology “out of the lab” and into a commercial product as a chance to prove the value of local-first in real-world usage.<p>As a developer and computing enthusiast, I care about abstract ideas like data ownership. But for most users I think the benefits of local-first will surface in how it feels to use the software day-to-day. One example is ability to work offline or in unstable network conditions: any changes between devices will be automatically merged when you reconnect to the network, no matter how long you’ve been disconnected.<p>Another area is performance. The sync backend was written by my colleague Mark McGranaghan who has written extensively about software performance[5][6] and why we think the cloud will never be fast enough to make truly responsive software.<p>A few technical details:<p>– Client-side CRDT written in Swift, streaming sync server written in Go<p>– Sync server is generic, doesn’t have any knowledge of the Muse app domain (cards, boards, ink, etc). Just shuffles data between devices<p>– Transactional, blob, and ephemeral data are all managed by this one single state system. For example ephemeral data (someone wiggling a card around) for example, isn’t even transmitted if there are no other clients listening in realtime.<p>More in this Metamuse podcast episode.[7]<p>We draw heavily on research from people like Martin Kleppmann, Peter van Hardenberg[8], and many others. A huge thank you to this wonderful research community.<p>Even if you have no interest in the Muse concept of a digital thinking workspace, I’d encourage you to try the free version just to see how local-first sync feels in practice. My opinion is that is fundamentally different from web/cloud software is well as from classic file-based software—and an improvement on both. Would love to hear what you think.<p>[1]: <a href="https://museapp.com/memos/2022-05-dive-into-big-ideas-with-muse-2.0/" rel="nofollow">https://museapp.com/memos/2022-05-dive-into-big-ideas-with-m...</a><p>[2]: <a href="https://www.inkandswitch.com/local-first/" rel="nofollow">https://www.inkandswitch.com/local-first/</a><p>[3]: <a href="https://news.ycombinator.com/item?id=19804478" rel="nofollow">https://news.ycombinator.com/item?id=19804478</a><p>[4]: <a href="https://news.ycombinator.com/item?id=21581444" rel="nofollow">https://news.ycombinator.com/item?id=21581444</a><p>[5]: <a href="https://www.inkandswitch.com/slow-software/" rel="nofollow">https://www.inkandswitch.com/slow-software/</a><p>[6]: <a href="https://news.ycombinator.com/item?id=18506170" rel="nofollow">https://news.ycombinator.com/item?id=18506170</a><p>[7]: <a href="https://museapp.com/podcast/56-sync/" rel="nofollow">https://museapp.com/podcast/56-sync/</a><p>[8]: <a href="https://www.inkandswitch.com/pushpin/" rel="nofollow">https://www.inkandswitch.com/pushpin/</a>