I was building offline-first apps for the Gnoke Suite and ran into the same wall every time. The File System Access API works beautifully — until your phone decides otherwise. A background OS kill. A tab reload at the wrong moment. Ten concurrent writes racing for the same stream. Any of these silently drops your data. No error. No warning. Just gone. The browser fantasy is: pick a folder, write files, done. The mobile reality is: your process dies, your handle goes stale, and your writable stream errors out mid-write. 😬 So I built a survival layer around it. Meet gnoke-savenative A two-layer write pipeline for browser apps. Native filesystem first, IndexedDB shelf as instant fallback. npm install gnoke-savenative Enter fullscreen mode Exit fullscreen mode import { saveNative } from ' gnoke-savenative ' ; import { openDB } from ' idb ' ; // Mount once (user gesture required) const handle = await saveNative . mount ( openDB ); let workspace = { handle , db : await saveNative .…