productApril 20, 20265 min read

NovaKit Works Offline Now

NovaKit is a full Progressive Web App. Install it, read your conversations on a flight, edit prompts without Wi-Fi, and let the app shell load instantly even on spotty networks.

TL;DR

  • NovaKit is now a Progressive Web App with a service worker. The app shell is precached, and navigating offline falls back to /offline with a friendly "you're disconnected" message.
  • Install it from your browser's address bar or via iOS Safari / Android Chrome "Add to Home Screen." It runs as a standalone app with its own Dock/taskbar icon.
  • Offline you can browse past conversations, edit prompts and chains, view your knowledge base, review cost history, and edit settings. You can't send new AI messages — those need the provider's API.
  • Paired with local-first storage (everything lives on your device), the whole workspace is usable on a flight, a train, or a spotty coffee-shop Wi-Fi.

Why offline matters for an AI workspace

There's a weird premise in most AI chat apps: the UI is a thin client that can't load without a network round-trip. That's fine when every interaction is "ask the model something," but it makes the app feel brittle for everything around that core interaction — reviewing a past answer, tweaking a prompt, reorganizing your library.

NovaKit was already local-first — every conversation, prompt, persona, chain, and memory lives on your device, and every AI request goes directly from your browser to the provider you picked. The missing piece was the app itself: if the network was down, you couldn't even load novakit.ai/chat because the page hadn't been saved for offline use.

Adding a service worker closes that gap. The shell is precached on first load, and the app will open on a plane, on a subway, or when your home ISP has an outage.

What you can do offline

Everything that doesn't require a network round-trip to an AI provider:

  • Browse and search past conversations. Full-text search over your entire history.
  • Read and edit prompts, personas, and chain templates. Reorganize your prompt library. Add variables to a template. Tweak a chain's system prompts.
  • Review cost history. Charts, breakdowns, trends — all local.
  • Read your knowledge base. Open uploaded PDFs, review chunked documents, edit collection metadata.
  • Edit settings. Change your defaults, toggle UI options, reconfigure security.
  • Delete data. Archive old conversations, clear the vault, hit Panic Wipe.

What you can't do offline

Anything that requires hitting a provider's API:

  • Sending new messages. The composer will fail — we don't queue messages yet, though that's on the roadmap.
  • Generating new embeddings for knowledge base uploads. Embedding is a round-trip to OpenAI.
  • Image generation. DALL-E calls need network.
  • Voice transcription via Whisper. Whisper calls your API key.
  • License key activation. First activation needs Polar.sh reachable. After that, activation tokens are cached and validated locally.

When NovaKit detects you're offline, a banner surfaces at the bottom of the screen with a clear "you're disconnected" message. Navigating to a page that wasn't precached falls back to the /offline page with a short explanation.

Installing as a standalone app

Desktop (Chrome, Edge, Brave)

  1. Visit novakit.ai and sign in (or just open /chat).
  2. Click the install icon in the address bar (or ⋮ menu → "Install NovaKit").
  3. The app opens in its own window with a native title bar. Pin it to your Dock/taskbar.

iOS Safari

  1. Open NovaKit in Safari.
  2. Tap the share icon.
  3. Scroll down to Add to Home Screen.
  4. Tap the NovaKit icon from your home screen — it launches full-screen, no Safari chrome.

Android Chrome

  1. Open NovaKit in Chrome.
  2. Tap ⋮ → Add to Home screenInstall.
  3. The app now lives in your app drawer.

Installed or not, the service worker still caches the app shell and provides offline fallback. Installation just gives you the standalone window and icon.

Two things worth knowing

  • AI responses are never cached. Every message you send goes fresh to the provider you picked. Nothing gets served from an old cache. Offline means "the app opens," not "the model answered from memory."
  • Installing doesn't change what works offline. The browser caches the app either way. Installing just gives you the standalone window, the icon, and the ability to launch without opening a browser tab first.

Offline + BYOS sync = genuinely portable

Pairing the offline PWA with BYOS sync produces something most AI apps can't match: a workspace you can carry on a plane, modify locally, and sync up to your own storage the moment you reconnect.

The flow looks like this:

  1. You're about to fly. Last thing before takeoff: you push an encrypted .novakit backup to your WebDAV server.
  2. Mid-flight, you open NovaKit from your home screen. It launches instantly from the offline cache. You browse past conversations, rework a prompt chain, clean up your knowledge base.
  3. Land. Reconnect to Wi-Fi. Open Settings → Sync, click Push. Your laptop (or the other device you picked up) has a fresh encrypted backup within seconds.

No SaaS-hosted sync. No "please re-auth." No mystery about where the data went.

Try it

The PWA is live today. Open novakit.ai in any modern browser, install it, and disconnect your Wi-Fi for 60 seconds to see it still work. The Phase 2 ship notes have the full rundown of everything that landed alongside this.

NovaKit workspace

Stop reading about AI tools. Use the one you own.

NovaKit is a BYOK AI workspace — chat across providers, compare model costs live, and keep conversations on your device. No markup on tokens, no lock-in.

  • Bring your own keys
  • Private by default
  • All models, one workspace

Keep exploring

All posts