A site that installs itself:
no app store, no 40 MB download
A progressive web app turns a regular site into something a visitor can add to their home screen, open without a connection, and get a push notification from, without going through an app store review or a user downloading forty megabytes before the first tap. We add a service worker and a manifest to a site that is already working, not rebuild it from scratch.
What it is
A progressive web app is a regular website with three things added on top: a web app manifest that lets a browser offer “add to home screen,” a service worker that caches assets and can serve pages without a network connection, and, on supporting browsers, web push notifications. Nothing about the site’s URLs, hosting or SEO changes. A visitor who installs it gets an icon and a full-screen window with no browser chrome; a visitor who does not still gets the same site.
When you need it (and when you do not)
A PWA earns its cost when your visitors come back often enough that an icon on their home screen matters: a booking tool, a loyalty program, a content site with a daily habit, a store with repeat customers checking order status. It also helps anywhere connectivity is unreliable, a visitor on a train or in a venue with bad signal can still open the app and see the last cached state.
It is the wrong tool when you need background location tracking, deep OS integrations like widgets or Face ID, or a listing in the App Store and Google Play specifically because that is where your buyers browse. Those need a native app or React Native, and we would rather say so up front than sell you a PWA that cannot do the job.
How we build it
We start from your existing site and add a service worker with a caching strategy matched to what the page actually serves: cache-first for static assets like images and fonts, network-first with a cache fallback for anything that changes often, like prices or availability. The manifest defines icons, theme color and the install behavior; we generate the icon set at the sizes each platform actually requests rather than one image scaled badly.
Offline support means a visitor who loses connection mid-session sees the last cached version of the page they were on, not a browser error, and a form submitted offline queues with background sync and sends the moment connectivity returns. Push notifications run through the Push API with a subscription flow the visitor opts into explicitly, segmented so a booking reminder and a promotional push are not the same list.
We run a Lighthouse PWA audit before and after, and treat the performance budget as part of the deliverable: an installable app that still takes six seconds to paint its first screen is not actually solving the problem.
What to watch
Safari and some in-app browsers support a smaller slice of the PWA feature set than Chrome and Edge, notably around push notifications, so we test on the devices your actual visitors use rather than assuming full parity everywhere. A caching strategy that is too aggressive can serve a stale page after you update content; we set cache versioning so a new deploy invalidates what needs invalidating without you having to think about it. There is no app store fee and no review delay, which also means no app store discovery, a PWA does not show up in a store search the way a native app can.
Price and timeline
| Option | Price | What it covers | Timeline |
|---|---|---|---|
| PWA layer on an existing site | from $1,800 | Manifest, service worker, offline fallback, install prompt | 2 to 4 weeks |
| Full PWA with push and background sync | from $3,500 | Everything above plus push notifications, offline form queueing, performance budget | 3 to 5 weeks |
Running cost is usually the same hosting you already pay for; push notification delivery through a provider like Firebase Cloud Messaging is free at most volumes.
Related
This pairs with static site generator with programmatic SEO when the site underneath is content-heavy, and with push notifications infrastructure if you want the messaging layer built out further than the PWA default. See the development service page for the full build process and the setup and integrations page for how we wire up analytics and hosting around it. For a real example of a large site built for speed and search, see the AI persona business case study and the D2C store Thailand rebuild.
Want to know if your site is a good fit for a PWA before you pay for one? Get in touch and we will look at your traffic and tell you honestly.
FAQ
How much does PWA development cost?
From $1,800 to add a service worker, manifest and push notifications to an existing site, live in 2 to 4 weeks. A PWA built from scratch alongside a new site is closer to $4,000 to $8,000 depending on how many screens and offline flows it needs.
How long does it take?
2 to 4 weeks for the core install, offline and push setup on a site that already exists. Add a week if we are also fixing performance issues the PWA audit surfaces, since a slow first load undermines the whole point.
What is the stack?
A service worker written against the Cache and Background Sync APIs, a web app manifest, and Workbox for caching strategies when the project calls for it. We build this on top of Next.js, a static site, or whatever your current site already runs on, we do not require a framework rewrite.
Who owns the code?
You. The service worker, manifest and push setup live in your existing repository from the first commit, and we hand over the Lighthouse report and a short runbook for updating the cached asset list.
Do we still need a native app?
Not always. A PWA covers most of what a content site, a booking tool, or a lightweight store needs: install, offline, push. A native app earns its cost when you need deep OS integration, background location, or a presence in the App Store and Google Play specifically. We will tell you honestly which one your product needs before you pay for either.