Solution Story · Mobile Experience

Escaping the webview: a mobile app users stop hating

The old "app" was the website in a frame — a hybrid wrapper earning a 1.0 rating on Google Play, with no iPhone version for a user base full of iPhones. The replacement is native React Native, one codebase for both stores, designed around the four moments that actually matter to a rep's day.

The problem

A webview is a website that apologizes for being an app

Wrapping a desktop-era website in a mobile frame checks the "we have an app" box and satisfies nobody. Every tap loaded a page built for a mouse. Slow, cramped, and unreliable at the exact moment that matters most: a rep standing at a hospital kiosk, surgery starting soon, trying to pull up a QR code. The 1.0 rating wasn't harsh — it was accurate. And half the market couldn't even install it, because there was no iOS version at all.

For a credentialing product, the app is the front door of the brand — reps touch it more often than any hospital administrator ever will.
The least-loved surface was the most-used one
What we built

Designed around moments, not menus

We didn't shrink the website. We asked what a rep actually does on a phone, and built exactly that — natively.

"Am I clear for tomorrow?"

The dashboard leads with what needs attention: credentials pending approval, expiring in 7 days, expiring in 30. Green means walk in with confidence.

"Here's my QR"

The check-in code is one tap from anywhere — because the highest-stakes moment happens standing at a kiosk with people waiting.

"Upload it now"

A missing document gets photographed and submitted from the parking lot, not "when I'm back at my laptop." Fixes happen where the problem is discovered.

"What's this facility need?"

Facility requirements, appointments, and invoices — readable at phone size, structured for glances between meetings.

BEFORE — the wrapper the desktop website, loading page by page, inside a phone frame 1.0★ · Android only AFTER — native React Native native navigation instant screens camera & uploads one-tap QR one codebase → iOS + Android, feature parity by default talks to the new API platform, not to web pages
The wrapper rendered pages; the native app consumes APIs — which is why it's fast and why iOS finally exists.

One codebase, two stores

React Native delivers iOS and Android from a single codebase — the iPhone half of the user base went from unserved to first-class, without doubling the engineering bill.

The API made it possible

A native app can't consume server-rendered pages. The mobile rebuild and the API-first backend were one decision wearing two hats — neither works without the other.

Web got the same treatment

Company managers and facilities got a modern web experience designed persona by persona — same design system, same API, no legacy page loads.

Results

The front door finally matches the product

2
app stores served — up from one, badly
1
codebase for iOS and Android
100k+
reps with a native experience
1.0★
the number that justified the whole rebuild
Users don't rate your architecture. They rate the thirty seconds at the kiosk. Win those, and the stars follow.
Mobile-first means moment-first