What we built
The web app development work was deliberately narrow. We rebuilt the customer-facing mobile user experience as an installable progressive web app, kept the existing back office untouched, and connected the two across a single API. Replacing everything at once would have doubled the risk for no additional benefit.
The stack and the shape of it
[DATA SLOT: the real stack. Framework, rendering approach, hosting, CDN, and how the service worker and caching strategy were configured. Name only what was actually used.]
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. Static assets were cached aggressively and versioned, and content was cached with a stale-while-revalidate strategy, so a returning visitor sees something immediately and the fresh copy arrives a moment later.
Everything runs over HTTPS, which a service worker requires anyway. That 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".
It works with no signal.
Previously viewed pages and the cart remain available offline, so a dropped connection no longer loses the visit.
The install prompt waits.
We show it after a second visit rather than on arrival, because asking a stranger to install something is how you lose them.
Some things were left out. [DATA SLOT:
what you deliberately did not build in phase one.] Every feature added to a first release delays the date on which the results start.
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.
Timeline and team
[DATA SLOT: how long the project took, how many people worked on it, and what the phases were.]
One detail is worth keeping when you fill that in: the date the first measurable improvement reached real users, because clients remember that date rather than the launch date.