WebRetail is an online retailer whose customers shop mostly on a phone. Their mobile site was losing those customers before it finished loading, and carts were being abandoned on poor connections rather than at the payment step.
We rebuilt the mobile user experience as a progressive web app. Conversion rose 25%, bounce rate fell 30%, and engagement rose 40%.
This PWA case study is the whole story of that project, including the part that did not go according to plan. If you are weighing a PWA against a native app or another responsive rebuild, the decision we walk through here is probably close to the one in front of you.
Results at a glance
| Metric | Change | How it was measured |
|---|---|---|
| Mobile conversion rate | Up 25% | [DATA SLOT: analytics tool, date range, comparison period] |
| Bounce rate | Down 30% | [DATA SLOT] |
| User engagement | Up 40% | [DATA SLOT: session length, pages per session, or both] |
| Load time | [DATA SLOT] | [DATA SLOT: Lighthouse or field data, device and connection] |
The method column matters more than the numbers. A result you cannot trace back to a measurement is a claim rather than a result, and that is the difference between a PWA case study and a brochure.
The problem
WebRetail's problem was mobile performance, and it was costing them orders every day. The catalogue was good and the desktop user experience was perfectly acceptable. On a phone, on an average connection, the site took long enough that a considerable share of shoppers gave up before they saw a product at all.
What the business was seeing
Nobody on WebRetail's team was reading a performance report; they were seeing the symptoms.
Carts were being abandoned before checkout rather than at the payment step, which is a different problem with a different cause. Mobile sessions were short, engagement was falling while traffic held steady, and the mobile channel that brought most of the visitors was converting the fewest of them.
That gap is the usual shape of this problem. Mobile brings the visitors and desktop closes the sales, and everyone assumes the difference is buyer behaviour when quite often it is page speed.
What the numbers showed
We started by measuring, because a rebuild without a baseline has no way of proving that it worked.
Two sources went into the baseline. WebRetail ran a user survey to find out what shoppers were trying to do and where they stopped, and we read their web analytics to see where sessions actually ended. The survey said the site felt slow on a phone, and the analytics agreed, showing it most clearly on the category and product pages.
[DATA SLOT: the baseline load time and Core Web Vitals figures, if they were recorded. Lab numbers from a testing tool and field data from real shoppers are different claims, so say which these are.]
What they had already tried
This was not WebRetail's first attempt at fixing it.
The site was already responsive and the usual front-end housekeeping had been done, but each of those steps helped only a little and none of them changed the outcome. The bottleneck was not any single asset but the shape of the site itself, which is the point at which a progressive web app becomes worth discussing.
Why a progressive web app, and not a native app
The decision came down to reach rather than to the technology being fashionable. WebRetail needed the next shopper to have a fast experience immediately, on the link they had just tapped, and a native app cannot do that because it asks for an installation first.
What a PWA actually is
A PWA is a website built to behave like an application: it loads from an ordinary URL, so there is no download and no app store.
It can be added to the home screen, where it opens full screen with its own icon. It also caches its own shell and data, so it continues working on a weak signal or no signal at all. And it is one codebase served to every device, rather than a web build plus an iOS build plus an Android build.
Nothing about that is exotic: a PWA is a normal web application with a service worker, a web app manifest and a serious caching strategy.
The options we weighed
Three routes were on the table.
A native app would have given the deepest device integration and the worst reach, because every new shopper would have to install it before they saw a product. A straight responsive rebuild would have been the cheapest option, and it would not have fixed the two things that were actually losing money: repeat visits and poor connections. The PWA sat between them.
If you are making this call yourself, our guide to choosing the right web development framework walks through the same trade-off without the project specifics.
Why the PWA won for this business
For a retailer, the argument is short. Shoppers arrive from search, social and email, tap once, and judge the shop in roughly three seconds. An install screen in front of that traffic loses most of it.
Offline access mattered for a second reason. WebRetail was losing carts on unstable connections, and a cart that survives a dropped signal is a cart that can still be paid for. One team maintaining one codebase settled the rest, because it was the difference between shipping in months and shipping in a year.
For context, several large consumer businesses have published PWA results of their own, and Trivago, Flipkart and Tinder are the examples people cite most often, with their figures collected in the PWA Stats database now hosted at progressier.com. Those are their numbers, not ours. Follow any entry back to its original case study before quoting it, because aggregated figures drift as they get copied.
What we built
The web app development work was deliberately narrow. We rebuilt the customer-facing storefront as an installable progressive web app and left the back office alone, because replacing everything at once would have doubled the risk for no additional benefit.
The stack and the shape of it
The front end was rebuilt in [DATA SLOT: confirm React or Angular], with Workbox generating and managing the service worker, and everything is served over HTTPS, which a service worker requires anyway.
The shape matters more than the brand names. We served an app shell that loads from cache almost instantly, then filled it with fresh content. Images and non-critical code were lazy loaded, the bundle was split so a shopper downloads only the page they asked for, and content was cached so a returning visitor sees something immediately while the fresh copy arrives behind it.
HTTPS is the floor rather than the ceiling, and our notes on securing the applications customers touch cover what else belongs on a transactional build.
The user experience decisions
Four changes did most of the work for the person holding the phone.
The shell arrives first.
Header, navigation and layout render from cache before any network request completes. The screen stops being blank, which is most of what people actually mean by fast.
The cart survives a dropped signal.
Browsing and the cart stay available offline, so a shopper on a weak connection keeps their basket instead of losing the visit. This was the single most valuable feature for WebRetail, because it addressed the abandonment they could see in their analytics.
Push notifications do the returning.
New arrivals, price drops and abandoned carts bring shoppers back without an app install. Used sparingly, they are the main reason engagement moved.
The install prompt waits.
The PWA can be added to the home screen, but we show the prompt after a second visit rather than on arrival. Asking a stranger to install something is how you lose them.
The layout itself still has to hold up on every screen size, and the principles in our piece on why responsive design matters applied here exactly as they would to any web app development project.
How it was delivered
Four phases ran in order, and planning came first, working from the user survey and the analytics rather than from opinion. Design produced wireframes and mockups for every screen size. Development built and tested it across devices and browsers, with automated tests and real user sessions feeding fixes back in, and only then did it go live.
The results
The storefront got faster, fewer shoppers left before it loaded, and more of the ones who stayed bought something. Three numbers carry the project.
| Metric | Change after launch | Measured with | Over what period |
|---|---|---|---|
| Mobile conversion rate | Up 25% | [DATA SLOT] | [DATA SLOT] |
| Bounce rate | Down 30% | [DATA SLOT] | [DATA SLOT] |
| User engagement |
What we would do differently
One part of this project did not go the way we planned.
[DATA SLOT: the honest item.]
This is the section that decides whether a reader believes the rest of the page, so it needs a real one. On PWA builds the usual candidates are a caching rule that served stale prices or stock until somebody noticed, an install prompt that irritated shoppers until it was moved later in the journey, push notifications sent too often in the first weeks, or a phase that overran because the catalogue API was slower than expected.
What changed as a result.
[DATA SLOT: what you now do differently on every PWA build because of this project.]
We include this for a straightforward reason. Anyone comparing agencies has read a dozen case studies in which nothing went wrong and believed none of them, because a project with no setbacks is a project somebody edited.
The useful version of this section is not an apology; it is evidence that we measure closely enough to notice problems and are willing to say so out loud. It is also the only part of this page that no competing PWA case study has.
We will tell you if a PWA is the wrong answer. Not every business needs one, and the section below explains exactly when it does not, so if your situation is one of those we would rather say so in the first conversation than six weeks into a build.
When a PWA is the right choice, and when it is not
A progressive web app is the right choice when reach matters more than deep device access, and the wrong choice when the reverse is true. That single sentence settles most of these decisions.
Four situations where a PWA fits
Most of your traffic is mobile, on connections you cannot control.
Caching and offline access turn a weak signal from a lost visit into a slower one.
Your audience will not install an app.
For anything people use weekly rather than daily, the install screen is where most of them stop, and a PWA skips it while still offering the home screen icon to the people who want it.
You have one team, not three.
One codebase for web, Android and iOS is the difference between shipping and maintaining a backlog.
You sell content or commerce, not device features.
Catalogues, booking, media, dashboards and checkout are all well served by the web platform today.
That last point keeps expanding, which is worth watching if you are planning more than a year ahead, and our round-up of where web development is heading covers what is arriving next.
Three where it does not
You need deep device integration.
Bluetooth accessories, advanced camera control, health data and tight platform hooks are all examples. The gap has narrowed, but it has not closed, so a native app remains the right call here.
You need heavy background processing.
Anything that must run reliably while the application is closed still belongs in a native build.
Your buyers judge you by your app store listing.
In some markets a business without an app listing looks unserious. That is a perception problem rather than a technical one, and a PWA does not solve it.
If you land in the second list, a PWA is not a compromise worth making. Commission the native build, or build neither and fix the website properly.
Thinking about a progressive web app for your business?
What made WebRetail's project work was not the technology; it was measuring first, building the smallest thing that would move those numbers, and then measuring again in exactly the same way.
We would start yours the same way, and a first conversation covers three things:
- Your current mobile numbers. Load time, Core Web Vitals and mobile conversion rate, measured rather than guessed.
- Whether a PWA actually fits. Against the seven situations above, and if it does not, we will say so.
- What a first phase would look like. Scope, sequence and the date on which you would see the first measurable change.
No obligation and no pitch deck. If your mobile user experience is losing you orders, you will know which part of it after one conversation.
Frequently asked questions
What is a progressive web app?
A progressive web app is a website built to work like an application. It opens from an ordinary URL with no download, can be added to the home screen, and keeps working offline through a service worker that caches its own files and data. One codebase serves every device.
Do PWAs really improve conversion rates?
Often, although not because of the technology itself. WebRetail's mobile conversion rate rose 25% after launch. A PWA improves conversion by removing the wait that was losing visitors, so the size of the gain depends on how slow the site was beforehand. If your mobile load time is already good, expect a smaller change.
How long does it take to build a PWA?
[DATA SLOT: this project's real timeline, stated plainly.] In general, PWA work is faster than a ground-up web app development project, because converting an existing site reuses much of your current front end. How much can be reused is the honest answer, and we scope that in the first week, before quoting anything.
Is a PWA cheaper than a native app?
Usually, for one reason: one codebase instead of three. You build and maintain a single application for web, Android and iOS rather than three separate ones. The saving shows up mostly in maintenance, which is where the long-term cost of a native build actually sits.
Can a PWA work offline?
Yes, within limits. A service worker caches the app shell and the content a visitor has already seen, so those pages open with no connection, but anything needing live data still needs a signal. Offline access keeps the visit alive; it does not replace the network.





