An app.
No app store.
A progressive web app installs from the browser, opens without a connection and sends notifications. One codebase runs on every phone, tablet and desktop.
Same phone.
Three ways in.
All three open on a phone. What differs is how a customer gets it, what it does without a connection, and what each release takes.
- Responsive website
- A link
- Progressive web app
- A link, then Add to Home Screen
- Native app
- App Store and Google Play
- Responsive website
- A bookmark, at most
- Progressive web app
- Icon, splash screen, full screen
- Native app
- Icon, splash screen, full screen
- Responsive website
- Does not open
- Progressive web app
- Opens, with the screens cached for it
- Native app
- Opens
- Responsive website
- No
- Progressive web app
- Android and desktop. iPhone from iOS 16.4, once installed
- Native app
- Yes
- Responsive website
- A deploy
- Progressive web app
- A deploy, applied the next time the app opens
- Native app
- A store review for each release
- Responsive website
- One
- Progressive web app
- One
- Native app
- iOS and Android, or one in React Native
- Responsive website
- Camera and location
- Progressive web app
- Camera, location, share sheet, notifications
- Native app
- All of them, including Bluetooth, NFC and widgets
- Responsive website
- None
- Progressive web app
- None
- Native app
- Apple: $99 a year. Google: $25 once
- Responsive website
- €179 single page, €899 up to 10 pages
- Progressive web app
- €599 per application
- Native app
- Expo (React Native) app from €1,799
Every screen. Online or off.
Screens, offline behaviour and notifications are listed in the written scope before a line of code is written.
€599 per application.
The price is per application: up to 6 screens, offline use for the core screens, one notification trigger and two rounds of design revisions. Anything beyond it is quoted in writing before work starts. A native app in Expo is a separate build, from €1,799.
Four phases. Tested offline.
A typical plan. The number of screens and how much works offline move it. Work beyond the starting package is scoped and dated separately.
PWA architecture
Offline screens, caching rules and notification triggers agreed in writing, screen by screen.
Design
Every screen designed at phone width first, with its offline state, approved before the build.
Service worker and screens
The interface and the caching built together, on preview URLs you can install on your own phone.
Testing and launch
iPhone, Android and desktop browsers, online and in aeroplane mode. Then production and handover.
An app. Still a website.
If a phone will not install it, the browser still opens it.
It works without installing
Every screen opens from a link in any modern browser. Installing adds to it and is never required.
Offline scope in writing
The scope names which screens open without a connection and which need one.
A fix is a deploy
No review queue sits between a fix and the people using the app. They get it the next time they open it.
Rollback in one step
Every deploy is kept. The service worker picks up a rollback like any other update.
Code that outlives anyone
Your repository, in React and TypeScript, documented. Any React developer can pick it up.
Bugs fixed
Anything in the delivered scope that does not work as agreed is fixed as part of the build.
Most app ideas. Not every one.
If the second list sounds like you, the first call will say so.
A PWA fits
- 01A loyalty or rewards app
Points, offers and a card that opens offline at the counter, with a notification when something changes.
- 02An event or conference app
Needed for a few days, shared as a link or a QR code, live without a store review.
- 03A home-screen icon for the brand
One codebase for iPhone, Android, tablet and desktop.
- 04An existing React app
Made installable: manifest, service worker, offline screens and push added to what is there.
A different build fits better
- 01Camera-heavy or graphics-heavy work
A native app in Expo (React Native), from €1,799.
- 02Bluetooth, NFC or home-screen widgets
iPhones give these to native apps only. Native is the route.
- 03Nobody needs it offline or installed
A responsive website costs less: €179 for a single page, €899 for up to 10 pages.
Tested on a phone. Then offline.
Each one can be checked on your own phone, or in Chrome's developer tools.
Installable, and it shows
The Application panel in Chrome's developer tools reads the manifest and the service worker without warnings.
Opens in aeroplane mode
Switch the connection off and open the app. The screens named in the scope load.
HTTPS on every request
Service workers run only on secure origins. Nothing loads over plain HTTP.
Lighthouse on a phone
Performance and accessibility measured on the main screens. Targets agreed in the scope.
Permission asked, not demanded
The notification prompt appears after a person chooses to be notified, never on first load.
Keyboard and screen reader
Menus, dialogs and forms work without a mouse or a touch, with labels and visible focus.