You could just wrap the web app in Capacitor for mobile and Electron for desktop, and easily use a SQLite db for unlimited persistence. If someone is interested in offline support, I don’t think it is a dealbreaker to have to download an app. That’s pretty common (eg Netflix, Spotify, hbo, any of the streaming services. The offline support only works in the app, not the web player).