GAP School Module 09 — SMS, Mobile, PWA Lesson 9.1

A native app and a Progressive Web App are not the same thing with different distribution models. They’re different tools with different capability profiles, different install friction levels, and different maintenance costs. Choosing between them is a business decision, not a technical one. For most dealer inventory sites, the PWA wins on every dimension that matters.


The situation

The Anchor site had strong mobile traffic (62% of sessions) but no mobile-native experience. “Go to the app store” is a request that loses 90% of users immediately. “Add to your home screen” from a browser prompt is a request most users accept when the site is already open and useful.

The decision wasn’t whether to invest in mobile — it was whether to build a native app, maintain a web app, or build a PWA that sits between them.


What I did

The decision framework

The right question is: what mobile capabilities does the use case actually need?

A boat dealer inventory site needs:

  • Fast loading on a mobile connection
  • Installable to the home screen
  • Works when cell signal is spotty (at the marina)
  • Push notifications for price drops and new listings
  • Access to the camera (for trade-in photo uploads)

It does NOT need:

  • Background GPS tracking
  • Bluetooth pairing
  • Background sync that runs when the app is fully closed (on iOS)
  • App Store distribution

The PWA covers the first list completely. The second list has no use case in this vertical. Native app builds, App Store review cycles, and separate iOS/Android codebases aren’t justified.

The web app manifest

The manifest.json is what makes a website installable. It tells the browser what the app looks like when installed and how it behaves:

JSON
{ "name": "[Client] Boat Dealer", "short_name": "[Client]", "description": "Browse new and used boat inventory.", "start_url": "/inventory/", "scope": "/", "display": "standalone", "background_color": "#0B2447", "theme_color": "#0B2447", "icons": [ { "src": "/images/pwa-icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, { "src": "/images/pwa-icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" } ] }

The manifest is linked from the <head> alongside iOS-specific meta tags:

PHP
add_action( 'wp_head', function() { echo '<link rel="manifest" href="/manifest.json">'; echo '<meta name="apple-mobile-web-app-capable" content="yes">'; echo '<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">'; echo '<meta name="apple-mobile-web-app-title" content="[Client]">'; } );

iOS quirks

iOS Safari supports PWA install (“Add to Home Screen”) but has significant limitations compared to Android:

  • Push notifications were not supported on iOS until iOS 16.4 — and only on home-screen-installed PWAs, not Safari tabs
  • The install prompt is manual only on iOS — there is no beforeinstallprompt event
  • Background sync is unreliable on iOS

The iOS install path requires an in-page banner with explicit “tap Share → Add to Home Screen” instructions. Android handles install automatically via the browser’s native prompt.


Why it matters

A native app for a boat dealer is a product that requires two codebases, App Store review cycles, and a separate update path from the website. A PWA is the website. When inventory changes, the PWA reflects it instantly. When the UI is updated, every installed user gets it on next load. Maintenance is one codebase.

The 1,340 PWA installs on the Anchor build came from no advertising — just the install banner on the inventory page and word-of-mouth. Installed users have a 3.2× higher return visit rate than mobile browsers.


The Anchor build

PWA installed on 1,340 devices in the first 6 months. 82% Android, 18% iOS. The iOS number reflects both the smaller market share in the buyer demographic and the harder install path. Android users triggered the browser’s native install prompt; iOS users required seeing the “Add to Home Screen” in-page banner.


Do this, not that

  • Build a PWA, not a native app, unless your use case requires native hardware APIs. For inventory browsing and lead capture, PWA covers every requirement. Native builds for the same functionality are maintenance overhead with no user benefit.
  • Set start_url to a high-value page, not the homepage. The inventory page is where installed users want to land. The homepage is for first-time visitors.
  • Use display: standalone. This removes the browser chrome from the installed experience and makes it feel like a native app.
  • Add iOS-specific meta tags. apple-mobile-web-app-capable and apple-mobile-web-app-title are required for a good iOS add-to-homescreen experience — the Web App Manifest alone isn’t sufficient for iOS.
  • Don’t build the iOS install path to be automatic. There is no automatic install prompt on iOS. Design an in-page banner with explicit “tap Share → Add to Home Screen” instructions.
When you’re ready to build

The lessons are yours. When you want it built, we’re here.

Every lesson stays free — no account, no paywall, no email gate, ever. But if you’d rather have this system standing on your business than wire all 48 lessons yourself, leave your email. We’ll send you a direct line to a build — and you’ll be first to hear when we add new tools to the curriculum.

None of this gates a single lesson. The curriculum was free before you got here and it stays that way.

We’ll use your email to send you a fast-track to a GAP build and occasional notes on how GAP builds digital sales departments. Lessons stay 100% free — no email required to read any of them. We never share or sell your information. Unsubscribe any time. Privacy policy at gapindustriesllc.com/privacy.html.

Done learning how it’s built? We’ll build it.

You came here to understand the system, and now you do. If you’d rather have it standing on your business than spend the next three months wiring it yourself, GAP Concierge is the same architecture from these lessons — a white-label AI agent that knows your catalog and captures your leads — set up for you, from $97/mo.

See GAP Concierge →