| Hi HN, Hush Docs is an offline-first, private Google Docs alternative. You can turn off your internet and the site works totally fine. Your docs are stored in your browser (using IndexedDB/Dexie.js), so you can create and edit your docs whenever you want, no internet or account needed. If you decide you want to sync across devices - or collaborate with others on a doc - you can create an account (which you do need internet for). Your docs are then end-to-end encrypted, so no server ever has access to your plaintext docs! Docs stay in sync using CRDTs (Automerge) - collaboration should be smooth even if someone works on a doc while offline for a while (like on an airplane with no wifi). Code is 100% open source. [1] I decided to create this because someone asked for a tutorial on how to create offline-first apps using Userbase, which is a developer tool I’ve helped work on to make it easy to create secure and private apps [2][3][4]. I started out with a super basic tutorial, and then one thing led to the next and ya know: Hush Docs. A basic tutorial on how to build something like Hush Docs with Userbase is coming! [5] Hush Docs is super barebones, so I’m calling it a "demo." If there's serious interest, I’d happily put more time into it and get it into something more production ready. For reference, here are a couple other sweet E2E encrypted Google Docs alternatives I came across while scoping this out: https://cryptpad.fr https://www.airborn.io/ Airborn did something especially cool worth pointing out: they used a service worker to guarantee that code loaded into the browser came from the latest GitHub commit. [6] [1] https://github.com/j-berman/hush-docs [2] https://userbase.com [3] https://news.ycombinator.com/item?id=22145168 [4] https://news.ycombinator.com/item?id=25869472 [5] https://userbase.com/docs/ [6] https://blog.airborn.io/post/2017/08/03/Transparent-Web-Apps... |
It inevitably leads to angry users when they hit the "clear cookies" button without realising that will delete all their documents...
It makes it pretty hard to use the browser for any offline use case when the user's expect their data to be persistent, yet don't understand that clearing history/data deletes the data...
Before long you'll be forced to sync the data to a server.