060 279 5587 info@sitect.co.za 139 Davies Street, Doornfontein, Johannesburg, 2001 Gauteng, SA
Mobile · Progressive Web Apps

App-like experiences — without the app stores.

Installable from a browser, push-notify capable, offline-ready, fast as a native app. PWAs are the right answer when you want app polish without the App Store review cycle, the 30% commission, or the per-platform code split.

From R18k · per project 3–6 weeks typical No app stores · install from the web
Push notificationsSent · 09:14
Works offlineService Worker
Home screenAdd to · iOS & Android
kasiroastery.co.za
Kasi Roastery SA single-origin coffee · roasted in Pretoria
Shop About
New this week

Origin: Sidamo, Ethiopia · 250g

Bright, fruity, washed Sidamo from a small co-op outside Yirgacheffe. Roasted weekly in Pretoria — ships SA-wide via Aramex.

Sidamo · 250g
R 285
Bourbon · 250g
R 285
Yirgacheffe
R 320
Install Kasi Roastery Add to home screen · works offline · gets push
Install app
When PWAs are the right call

4 reasons native apps are the wrong answer

Native apps are powerful — and sometimes overkill. Here's when shipping a PWA first (or instead) is the smarter play.

Reason 01

Three-week App Store review cycles for a 20-line bug fix.

Each native release goes through Apple's review queue. Even minor fixes wait days. PWAs deploy instantly — push the commit, the user gets the fix on the next page reload. Critical for stores running flash sales, news apps with breaking stories, or anything where same-day fixes matter.

What it costs: the ability to ship as fast as you ship a website.
Reason 02

30% of every digital sale handed to Apple or Google.

Native IAP for digital goods is 15–30% of revenue. PWAs bypass that entirely — you charge what you charge, you keep what you keep, you choose your gateway. For high-margin digital products this can mean 30%+ extra in your pocket on every sale.

What it costs: in a R10M/year subscription business, ~R2.5M to the stores.
Reason 03

"Download our app" friction kills the campaign.

Every step between "saw the ad" and "first session" leaks users. Download → onboard → register → use is ~30% conversion. PWAs collapse that: tap a link, you're in the app. Install can happen later, when the user already wants it.

What it costs: 60–70% of paid-traffic users who never see your "app" at all.
Reason 04

Two app codebases for a feature that's basically a website.

A lot of "apps" are actually content sites: news, recipes, lookbooks, blogs, internal portals, member areas. For these, native is genuinely overkill — and you end up maintaining three codebases (iOS, Android, web) for what could be one PWA.

What it costs: 2–3× the team to maintain something a single PWA delivers.
PWAs can do more than you think

The 6 capabilities that make a PWA feel native

The gap between PWA and native has narrowed dramatically. Here's what every Sitect-built PWA ships with — and what makes them feel indistinguishable from native apps for 80% of use cases.

Install to home screen

Users add your PWA to their iOS or Android home screen. Once installed it runs full-screen, with its own icon, splash screen and task-switcher entry — just like a native app.

  • Native install prompt
  • Branded splash + icon
  • Stand-alone window mode

Push notifications

Send web push to opted-in users on Android, Windows, macOS and iOS (iOS 16.4+). Same deep-linking, same targeting, same scheduling as native push.

  • Web Push API · VAPID
  • Topic + targeted segments
  • Action buttons + images

Offline-first

Service Workers cache the app shell + assets, and IndexedDB stores user data. The PWA works on the train, on a flight, in a SA loadshedding outage — sync happens when the connection returns.

  • App shell + data caching
  • Background sync on reconnect
  • Conflict resolution built-in

Device APIs

Modern PWAs access the camera, geolocation, file system, Bluetooth, NFC (Android), share sheet, contact picker, and biometric auth — most of what native apps need.

  • Camera · geolocation · files
  • Web Bluetooth · WebNFC
  • WebAuthn · passkeys

Instant updates

Service Workers ship new versions seamlessly — no App Store review, no "please update". The user gets the new version on their next session, automatically.

  • Same-day deploys
  • Skip waiting + auto-refresh
  • Phased rollouts via feature flag

One codebase · all devices

Same PWA runs on iPhone, iPad, Android, Windows tablet, macOS, Linux, Chromebook — any modern browser. Same code, same brand, same release cadence.

  • Mobile + tablet + desktop
  • Responsive · adaptive
  • One bug-fix surface
PWA vs native — honest comparison

Where PWAs win — and where they don't

We build both. We won't sell you a PWA when you need a native app. Here's the honest comparison.

Criterion
PWA
Native app
Build costOne-off engineering
From R18k PWA wins
From R36k
Time to launchIdea to first install
3–6 weeks PWA wins
3–5 months
App store fees15–30% on digital goods
0% PWA wins
15–30% on IAP
Update cadenceTime to ship a fix
Same day PWA wins
1–7 days (review)
DiscoverabilityApp store presence
SEO + share links
App Store + Play Store
Background processingHeavy long-running tasks
Limited · Service Worker
Full background tasks
iOS push (pre-16.4)Older iPhones
Web push (iOS 16.4+)
All iOS versions
Hardware-heavy useAR · ML on-device · Bluetooth POS
Partial via web APIs
Full native access
Is a PWA right for you?

When PWAs absolutely fit — and when they don't

We turn down PWA work where a native app is genuinely the right call. Here's our honest decision framework.

Great fit

Build a PWA if you're…

  • A content site, news, blog, magazine
  • An e-commerce store wanting app-like UX
  • A SaaS dashboard / admin portal
  • A customer self-service portal
  • A community / forum / member area
  • A SaaS selling globally (avoid 30% IAP)
  • Validating before building native
Could go either way

Either could work if…

  • Booking / scheduling apps
  • Field-team apps with light hardware needs
  • Light-touch chat / messaging
  • Apps with mostly online-first flows
  • When budget says "PWA first, native later"
  • Internal team apps (BYOD)

We'll often suggest "PWA first to validate, native later if you outgrow it" — saves R20k+ on the first round.

Wrong fit

Build native instead if you need…

  • Heavy AR / on-device ML
  • Bluetooth POS hardware integration
  • Apple Watch / WearOS companion
  • CallKit / VoIP integrations
  • Always-on background tracking
  • Apple-In-App-Purchase digital goods
  • App store discoverability is your main acquisition channel
Our default PWA stack

The technology choices behind every build

Boring, well-supported, web-standard tech. Your team or any agency can pick it up.

Frontend

N
Next.js 15App Router · React Server Components
V
Vue / Nuxt 3When team prefers Vue
TS
TypeScriptStrict mode · zod validation
TW
Tailwind CSSDesign tokens · responsive utilities
WP
WorkboxService Worker · caching strategies

Capabilities

SW
Service WorkersOffline + sync + cache
PU
Web Push (VAPID)Cross-browser push notifications
DX
IndexedDB · DexieClient-side database
FI
File System AccessRead / write user files
WA
WebAuthn · PasskeysBiometric login

Backend & ops

L
Laravel APIOr your existing backend
FB
Firebase / PusherRealtime + push delivery
VC
Vercel / CloudflareEdge hosting · global CDN
LH
Lighthouse CIPWA score gated in CI
SN
Sentry · PlausibleErrors + privacy-friendly analytics
What walks away with you

Everything in the handover package

Code, hosting set-up, store-listing assets (yes, you can list a PWA on Play Store and Microsoft Store too), runbooks. You own everything.

Installable PWA

Production PWA hosted on your domain (or ours), with valid manifest, signed Service Worker, splash + icon assets at every required resolution.

Push notifications

VAPID-keyed Web Push set up, opt-in flows, segmented send capability, action buttons, deep-link routing into the app.

Offline-first architecture

Workbox-based Service Worker with stale-while-revalidate + background sync. Client-side IndexedDB / Dexie for user data with conflict resolution.

CI/CD pipelines

GitHub Actions for build + Lighthouse + deploy. Lighthouse CI gates ensure PWA score never regresses below 90.

Analytics + monitoring

Sentry for errors, Plausible (or GA4) for behaviour, custom funnels for install / push-opt-in / first-session. Real-user Core Web Vitals tracking.

60-day warranty + Loom training

60 days bug-fix warranty post-launch. Loom tutorials for your team on deploys, push campaigns, monitoring, troubleshooting.

From kick-off to live

A predictable 5-step build

Most PWAs run 3–6 weeks end-to-end. You see staging deploys daily — never wait a week between updates.

1

Discovery

Audit, user flows, capabilities decisions, hosting choice.

Wk 1
2

Design & scaffold

Figma flows, design system, Next.js / Nuxt scaffold, CI/CD.

Wk 1–2
3

Build core

Core screens + state + API integration + responsive layout.

Wk 2–4
4

PWA hardening

Service Worker, manifest, push, offline, Lighthouse 90+.

Wk 4–5
5

Launch + tune

Go-live, store listings (Play / MS), 60-day warranty.

Wk 5–6
What "built right" earns

The compounding gains of a real PWA

Indicative metrics across SA PWA builds, measured 60 days post-launch. The biggest gain is the lift in returning-user engagement after install.

~3.4×
Returning sessions
After install vs browser-only
+42%
Push opt-in rate
vs native (no per-app friction)
94+
Avg. Lighthouse score
Performance · PWA · accessibility
~50%
Cost vs native build
Same UX · fraction of the budget
Indicative pricing — ZAR, ex VAT

Three engagement shapes

Every PWA is scoped per build — these are the bands we usually land in. 50% on signature, 50% on go-live.

PWA Starter

Convert an existing site · installable + offline
From R18 000 · ex VAT
3–4 weeks · 60-day warranty
  • PWA-ify an existing web app
  • Manifest + icons + splash
  • Service Worker + offline shell
  • Install prompt + UX
  • Lighthouse 90+ at handover
  • Loom training + handbook
Start a Starter quote

Enterprise PWA

Multi-tenant · SSO · advanced offline · integrations
POA
From R48 000 · 8–12 weeks
  • Multi-tenant · white-label
  • SSO · SAML · WebAuthn passkeys
  • Advanced offline sync engine
  • Custom integrations (Sage / SAP / ERP)
  • Web Bluetooth / NFC for POS
  • Retained engineering pod
Talk to us about Enterprise
FAQ

The questions we get asked most

Honest answers about iOS support, app store listings, push notifications, and where PWAs genuinely fall short.

Does push notification work on iOS?
Yes — since iOS 16.4 (March 2023). The user must add your PWA to home screen first, then push permission can be granted. Coverage: ~85% of active SA iPhones run iOS 16+ today. For older iOS devices, push isn't available, but the PWA still works fully otherwise.
Can a PWA be listed on the App Store or Play Store?
Play Store: yes — via Trusted Web Activity (TWA), your PWA gets a Play Store listing with the same install / push / icon as a native app. Microsoft Store: yes — Edge wraps your PWA into a Store-listed app. Apple App Store: no — Apple doesn't allow standalone PWA listings (only via PWABuilder workarounds that get rejected most of the time). So expect Play + MS Store coverage, not App Store.
How is a PWA different from just "a responsive website"?
A responsive website looks good on mobile. A PWA also: installs to the home screen, runs full-screen without browser chrome, works offline, can send push notifications, can access camera / location / file system. The line is the Service Worker + manifest — those are what make it "a PWA" instead of "a mobile-friendly site".
Will a PWA pass POPIA compliance?
Yes — same as any web app. We ship every PWA with explicit consent capture, customer data-export and delete flows, encrypted-at-rest, audit logs on every PII action, retention policy, and a data-flow document for your information officer. The Service Worker actually makes some POPIA flows easier (offline consent caching, etc).
Should I start with a PWA before building native?
Often, yes. The "PWA first → native later" pattern works well: launch in 6 weeks at half the cost, validate the product-market fit, learn what users actually use, then decide later whether native gives enough lift to justify the rebuild. About 50% of our PWA clients never feel the need to go native; the other 50% have a much sharper spec when they do.
What about app discoverability — won't I miss out on App Store search?
Honest answer: yes, partly. You miss App Store SEO. You gain web SEO (which is bigger), social-shareable URLs, paid-traffic deep-linking, and indexable content. Most SA apps don't actually get meaningful traffic from App Store search anyway — they get it from social, paid ads, and word-of-mouth, all of which work fine for PWAs.
How much data does a PWA use vs a native app?
Usually less, after the first install. The Service Worker caches the app shell + assets, so subsequent sessions are near-zero network. A typical PWA after install uses ~30-50% less mobile data than the same content delivered as a normal mobile website. Critical for SA data prices.
Will you maintain it post-launch?
Optional. 60-day defect warranty included. Beyond that you can take it over (you own the code, hosting, accounts) or retain us via a monthly retainer from R3k/mo for ongoing maintenance, browser-update compatibility, new features, and SEO / Lighthouse tuning.

Send us your current site or idea — we'll tell you honestly if a PWA is the right call.

Share what you're building and who it's for. We'll come back with a 30-minute audit, a recommended tier, and an indicative price — plus an honest "go native instead" recommendation if that's the right answer.