Skip to content

Web App (PWA) ​

Mindwtr's desktop app can run as a browser app using the Vite build. When running in a browser (non-Tauri), it uses localStorage for persistence and registers a service worker for offline/PWA support.


Run Locally ​

You can run the PWA locally using Bun, or use Docker.

See Docker Deployment for instructions on running the PWA container.

Using Bun ​

From the repo root:

bash
bun install
bun desktop:web

This starts Vite on http://localhost:5173/.


Build for Hosting ​

bash
bun desktop:web:build

Build output is in apps/desktop/dist/ and can be hosted as a static site.


PWA Behavior ​

  • The app registers apps/desktop/public/sw.js when running in a browser
  • sw.js precaches /, /index.html, /manifest.webmanifest, /icon.png, and /logo.png; it caches only static assets such as scripts, styles, images, and fonts on demand. API and sync requests stay on the network.
  • Navigation requests use the network first and fall back to the cached app shell only while offline.
  • The current view is stored in ?view=, so refresh and copied links keep the same screen without static-host route configuration. Filters are not encoded in the URL.

Hosting Requirements ​

Host apps/desktop/dist/ at the site root (/). The service worker is registered from /sw.js and the manifest references root paths.

Ensure your static host serves:

  • manifest.webmanifest as application/manifest+json (recommended)
  • sw.js as application/javascript

If you need to host under a subpath (e.g. /mindwtr/), the service worker registration and manifest paths must be adjusted to match the base path.


Limitations ​

  • Browser builds store data in localStorage (clearing site data clears Mindwtr data)
  • Some desktop-only features may be unavailable in the browser, such as file attachments that require native file access
  • No native system tray or global hotkey support

See Also ​

Mindwtr is free, open source, and local-first.
Getting Things Done and GTD are registered trademarks of the David Allen Company. Mindwtr is not affiliated with, endorsed by, or sponsored by the David Allen Company.