This might be controversial, but I want to share a decision we made at our B2B fintech SaaS that went against conventional wisdom: we sunset our iOS and Android native apps in favor of a Progressive Web App (PWA).
18 months later, here’s the honest retrospective.
The Context
- Series B fintech startup, ~250 enterprise customers
- Customer base: 70% mobile users, 30% desktop
- Problem: Maintaining web, iOS, and Android codebases was killing our velocity
- Small team: 15 engineers total, 5 dedicated to mobile
Why We Considered It
The typical reasons:
- Cost: Three separate codebases for essentially the same features
- Velocity: Features taking 3x longer to ship across all platforms
- App store friction: Update approval times, 30% commission, discovery challenges
But the real trigger was Safari finally supporting service workers universally in 2026. That was the last major holdout that made PWAs viable.
The Business Case
Here’s what made it compelling:
Cost Savings
- PWAs cost 33-50% less to build than native (our experience validated this)
- No app store 30% commission (we have in-app purchases)
- Eliminated app store fees and approval processes
Distribution Benefits
- Users find us via Google search, not just app stores
- No install friction - instant access from any device
- Updates are instant, no waiting for app store approval
Engineering Velocity
- One codebase instead of three
- Ship features once, available everywhere immediately
- Faster iteration cycles
The Migration
- Timeline: 4 months from decision to sunset
- Stack: Next.js, Workbox for service worker, modern Web APIs
- Strategy: Announced 6 months in advance, gave users time to transition
The Results (Real Numbers)
User Adoption
- 15% drop in “app installs” (obviously, no app to install)
- 40% increase in daily active users (web access removed friction)
- Higher engagement from users who never installed the app
Engineering Velocity
- Feature ship time decreased by 60%
- Bug fix cycle from 1-2 weeks (app store approval) to same-day
Customer Acquisition
- CAC decreased by 25% (search traffic, no app store competition)
- Trial-to-paid conversion up 18% (lower friction to try)
The Tech That Works
- Push notifications: Work on all platforms now
- Offline mode: Service workers are solid, app works offline for weeks
- Install prompt: “Add to Home Screen” has decent adoption
- Background sync: Works well for our use case
The Tech That Still Lags
- iOS storage limits: Still more restrictive than native
- No background processing: Can’t run tasks when app is closed
- Some APIs still missing: Bluetooth, NFC, advanced camera features (we don’t need them)
- iOS install UX: Still clunkier than Android
Customer Feedback (Mixed)
Power Users
Initial complaints: “This feels slower” (it wasn’t), “I miss the app icon” (they can add to home screen), “This isn’t as smooth” (subjective)
After 3 months: Most adapted, some still prefer native
Casual Users
Overwhelmingly positive: No install required, works on any device, always up-to-date
IT/Security Teams
Mixed: Some love that there’s no app to approve/deploy. Others concerned about browser security model vs app sandboxing.
What We’d Do Differently
Communication
We underestimated how attached some users were to having an “app.” Should have communicated benefits better and earlier.
Progressive Enhancement
Should have launched PWA alongside native apps for 6 months, let users choose, sunset based on usage data.
Feature Parity
We launched PWA before achieving 100% feature parity. That was a mistake. Some power users lost features temporarily.
Would We Do It Again?
Yes, absolutely. But with caveats:
PWAs make sense if:
- Your app is primarily CRUD/content, not platform-intensive
- Your users access from varied devices/locations
- Engineering velocity and iteration speed matter more than platform integration
- You can accept slightly lower engagement from power users for broader reach
PWAs don’t make sense if:
- You need deep platform integration (background GPS, payment systems, advanced hardware)
- Your users demand native polish and performance
- App store discovery is crucial for customer acquisition
- You have resources to maintain separate platforms well
The ROI
- Engineering velocity: Up 60%
- Operational cost: Down 40%
- Customer acquisition cost: Down 25%
- Daily active users: Up 40%
- Power user satisfaction: Down ~10% initially, recovered to neutral
From a business perspective, it was the right call for us.
Questions for the Community
- Has anyone else made this transition? How did it go?
- For those building PWAs, what’s your offline/sync strategy?
- Anyone regret moving away from native?
Happy to answer questions about our implementation or decision process.
- David