Hacker News new | ask | show | jobs
by calchiwo 141 days ago
Using IndexedDB as the only store moves the reliability boundary to the browser. That removes server risk but introduces quota limits, eviction, and “best effort” persistence, especially on mobile where storage gets reclaimed aggressively.

For a notes app, silent data loss is the critical failure mode. How are you handling quota errors and potential eviction before users discover missing notes?

1 comments

Valid concerns. Text notes are small so quota limits rarely hit in practice, but silent data loss is indeed the critical failure mode for a notes app.

Also the main use-case for the app is to be used as a quick notepad rather than to archive data.

Current temporary mitigation: export to MD/PDF/TXT from the note menu. For users who need real durability guarantees, the planned E2EE sync would provide redundancy across devices and our servers

What I'm adding in upcoming updates:

  - Request navigator.storage.persist() on first use to prevent automatic eviction           

  - Monitor quota via navigator.storage.estimate() and warn when approaching limits          

  - Catch QuotaExceededError explicitly and prompt immediate export                          

  - Periodic "backup reminder" for users who haven't exported recently                       

                
Really appreciate the specific pushback.