DEV Community

desgh white
desgh white

Posted on

Offline-First Progressive Web Apps for the Nordic Market

Nordic users are mobile-heavy and expect apps that keep working through spotty coverage on trains and in lifts. A Progressive Web App with an offline-first service worker delivers that without shipping to two native app stores.

Cache strategy that matters

Split your caching by resource type:

// app shell -> cache-first
// API data  -> stale-while-revalidate
self.addEventListener("fetch", (e) => {
  if (e.request.url.includes("/api/")) {
    e.respondWith(staleWhileRevalidate(e.request));
  } else {
    e.respondWith(cacheFirst(e.request));
  }
});
Enter fullscreen mode Exit fullscreen mode

Localize more than strings

For the Nordic market, currency (NOK), date formats, and consent flows differ per country. Drive them off the Accept-Language header and a per-locale config bundle, lazy-loaded so a Norwegian user never downloads Swedish copy.

Real-world reference

Consumer entertainment sites are aggressive adopters of installable, mobile-first web apps. A site like vulkan vegas shows the kind of fast, app-like mobile experience Nordic users now expect by default β€” a helpful benchmark when you tune your own install and offline flows.

Don't forget the install prompt

Capture beforeinstallprompt, stash the event, and surface your own "Add to home screen" CTA at a natural moment rather than letting the browser's default prompt fire at random.

Takeaway

Typed cache strategies, locale-driven bundles, and a controlled install prompt turn a plain site into an app Nordic users will actually keep on their home screen.

Top comments (0)