
Jurij Tokarski
What a PWA Build Looks Like
PWA development service in 6 weeks. The most budget-efficient way to ship an app: web + installable + app stores from one codebase.
Most founders who come to me with a mobile app idea assume they need two codebases — one for iOS, one for Android. A progressive web app development engagement usually changes that assumption by week one.
A PWA runs in the browser, installs to the home screen like a native app, works offline, and can send push notifications. One codebase. No app store approval. No 30% cut on transactions.
PWA Is the Most Budget-Efficient Way to Launch an App
The default startup playbook for "I need a mobile app" is wrong by a factor of three to five. Founders walk in assuming they need a website, an iOS app, and an Android app — three codebases (or one with platform forks), three deployment pipelines, two app store review cycles. The total cost-to-launch ranges from "uncomfortable" to "burns the seed round."
A PWA collapses that stack. One codebase in React. One deploy pipeline. One set of bugs. It runs in the browser as a website and installs to the home screen as an installable app. Google Play accepts a PWA wrapped with Bubblewrap or PWABuilder cleanly. The iOS App Store is harder — Apple often rejects thin PWA wrappers, so a Capacitor shell with some real native integration is usually needed to get through review. App store presence becomes a derivative of the PWA, not a separate codebase.
The honest math: a PWA gets you to launch 3-5x faster than building website + native iOS + native Android in parallel. Not because the technology is more powerful — because you're maintaining one thing instead of three. Every bug fix lands once. Every feature ships once.
The trade-off is real. PWAs don't get every native API the same way. Web Bluetooth and Web NFC exist but are Android-only and limited; advanced camera controls, deep iOS integrations, and reliable background sync are all weaker than native. iOS in particular has historically been the weak link — Apple has improved PWA support gradually, but features land later there than on Android.
For most products this list is irrelevant. Dashboards, portals, booking tools, content apps, AI chat interfaces, community apps, internal tools, marketplaces — none of them need NFC. They need fast load, reliable offline, push notifications, home-screen install. PWAs deliver all four. The PWA vs native app question reduces to one test: does your core interaction depend on hardware? If yes — camera scanning, Bluetooth pairing, NFC tapping — go native. For everything else, a PWA gets you 80% of the native experience for 20% of the cost.
The Stack: React and Firebase
React + Firebase is the default stack I use across engagements. Firebase Auth handles login. Firestore's offline persistence syncs automatically when the connection drops — no custom sync logic, no queuing layer. Cloud Functions handle server-side work without standing up infrastructure.
Every part of it amplifies the budget argument. Auth, real-time database, serverless backend, hosting, push notifications — one platform. No infrastructure to provision, no DevOps to staff. The combined cost stays well under $100/month for most early-stage products.
What Each Week Looks Like
$997/week, six weeks.
Week one: infrastructure. Firebase project, React or Next.js scaffold, auth, Firestore schema, PWA manifest. By end of week one the app is installable from a browser — a real install on your phone.
Weeks two and three: core features. Screens, Firestore reads and writes, Cloud Functions where needed, Firebase Auth flows. Each feature reviewed and deployed before the next starts (building in composable pieces).
Week four: offline and performance. Service worker, caching strategies, background sync. This is where react pwa development gets honest — a production service worker isn't the two-line tutorial version. Cache invalidation, failed-request queuing, and update flows all need real decisions.
Weeks five and six: launch. Firebase Hosting deploy, push notification setup, analytics, Firestore cost review. You end week six with a web app that works offline, installs from a URL, and sends push notifications. Production, not staging.
The Deploy Speed Argument
One PWA difference founders consistently underrate: deploys. A native app update goes through app store review — hours at minimum, sometimes days. A PWA update ships the moment you push to Firebase Hosting. Users get the new version on next page load.
For an early-stage product still finding its shape, that gap is enormous. Discover a critical bug at 2pm, fix it by 3pm, every user has the fixed version by 3:05pm. The native equivalent is days of exposure for the same fix.
Who This Works For
Founders who need mobile-first without two codebases. Teams replacing internal tools where field staff or warehouse workers need offline reliability. Products that outgrew Bubble, Glide, or Notion and now need real infrastructure.
If you're not sure whether a PWA is the right shape, the tech strategy and build cost tools are a good place to start.
Other Shapes the Retainer Takes
Same retainer, different shapes — pick the one that matches the work in front of you:
- What a 6-Week MVP Build Looks Like — same retainer shape, framed as v1 of a SaaS rather than mobile-first
- What a 2-Week PoC Looks Like — when one feature (push, offline, install) needs a feasibility test first
- What a Software Maintenance Retainer Looks Like — once the PWA is live and needs steady-state care
- All retainer shapes →
How to Start
The path is the same for every shape:
- Submit a project brief — 2–3 minutes. Within 24 hours, you get an honest read on whether this engagement fits.
- 15-minute discovery call — confirm scope and timing, no sales pitch.
- Subscribe to the weekly retainer — work begins the next business day. Cancel anytime through Stripe, no paperwork.
If you have questions before any of that, the project brief form has a free-text field — write whatever you need to.
Subscribe to the newsletter:
About Jurij Tokarski
I run Varstatt and create software. Usually, I'm deep in work shipping for clients or building for myself. Sometimes, I share bits I don't want to forget.
x.comlinkedin.commedium.comdev.tohashnode.devjurij@varstatt.comRSS