Skip to main content
Solutions/Case Study
Case Study · Mobile + Platform

Both the App Store and Google Play. 12 weeks. One codebase.

A SaaS founder had a web application with 800 active users who wanted a mobile app. The mobile app was deferred for 14 months because the cost of building it natively (separate iOS and Android teams) didn't fit the budget. React Native with Expo changed the economics. Fixed scope, fixed price.

150+
Projects shipped
99%
Client retention
~12wk
Average delivery
The problem
800 active users were asking for a mobile app. The web app had no mobile experience. Every competitor had a mobile app. The native development cost estimate ($80k+) was preventing the decision.

The product was a workflow management tool for construction project managers. 800 users, $35,000 in MRR, and 14 months of user surveys all pointing to the same request: a mobile app for the field crews who were being asked to update job status on the desktop web app but were doing it from their phones with a poor responsive UI experience.

The construction workflow problem: site supervisors are on-site, not at a desk. The desktop web UI worked fine for office-based project managers but was unusable for the site supervisor trying to check off a completed task while standing on a job site. The requests were specific — offline access (cell service on construction sites is unreliable), camera integration for progress photos, push notifications for job status updates from the office, and a simplified UI designed for glanceable use in PPE.

The previous blocker was the native development cost: two separate development tracks (iOS Swift, Android Kotlin) estimated at $80k–$120k from agencies, plus the ongoing maintenance cost of maintaining two codebases. React Native with Expo solved the economics: one codebase, both stores, one developer, $48k.

What we build

A production React Native app with Expo, live on both the App Store and Google Play, integrated with the existing Next.js backend, with push notifications and offline capability for the core workflows.

Expo managed workflow with EAS Build

Single codebase deployed to both App Store and Google Play via EAS Build. Over-the-air updates for JS changes that don't require native builds. The deployment pipeline that lets ongoing updates ship without requiring a full App Store review cycle.

Authentication with Clerk Expo SDK

Existing Clerk authentication extended to mobile — biometric authentication (Face ID on iOS, fingerprint on Android) using the existing Clerk session. No separate mobile auth system.

Offline capability for core workflows

Job checklist completion, progress photo capture, and status updates all work offline. Background sync when connectivity is restored. The core field workflows are available without cell service.

Camera integration

Native camera access for progress photos attached to job line items. Photo compression before upload (construction sites generate many photos; mobile data bandwidth is constrained). Photo gallery within the job view.

Push notifications

Office to field push notifications for job status changes, new assignment notifications, and daily schedule summaries. Background notification handling and deep linking from notification to the specific job or task.

Engagement

One honest number to start.

Fixed-scope, fixed-price. The number below is the starting point — final scope is built from your brief.

Tier · Mobile + PlatformFixed scope
From$45,000

A production React Native app with Expo, live on both the App Store and Google Play, integrated with the existing Next.js backend, with push notifications and offline capability for the core workflows.

99% client retention across 40+ projects
Process

Three steps, every time.

The same repeatable engagement on every project. No surprises, no mystery, no billable ambiguity.

01Week 0

Brief & discovery.

We send you questions, then get on a call. Output: a written scope with every step, feature, and integration listed.

02Weeks 1–N

Build & ship.

Fixed schedule, weekly reviews. No scope creep unless you change the scope — and if you do, we reprice it transparently.

03Post-launch

Warranty & retainer.

30-day warranty on every launch. Most clients stay on a monthly retainer for ongoing features and maintenance.

Why fixed-price

Why Fixed-Price Matters Here

The mobile app had been deferred for 14 months because the open-ended cost estimates were too variable to commit to. Fixed price made the decision straightforward.

FAQ

Questions, answered.

The first App Store submission was reviewed in 31 hours and approved without issues. The Google Play submission was reviewed in 18 hours. Both stores live within 3 days of the submission.

Minor modifications: the existing Next.js API routes required authentication header handling adjustments for the Expo SDK, and three endpoints needed pagination added (the mobile UI requested smaller data chunks than the web UI). No architectural changes to the existing backend.

The UI adapts automatically to iOS and Android design conventions — the navigation pattern (iOS: stack with back button; Android: bottom navigation with back gesture) and the standard component appearances follow platform conventions automatically in Expo. The only platform-specific implementation was biometric authentication (Face ID vs fingerprint) which is handled by the `expo-local-authentication` library.

$48,000 for the React Native app (both stores) integrating with the existing Next.js backend. 12 weeks including App Store submission.

At 3 months post-launch: 540 of the 800 existing web users had activated on mobile. Daily active usage in the field crew segment (the primary mobile use case) increased 340% from the baseline (responsive web on mobile). NPS increased from 34 to 51.

Next step

Tell Ryel about your project.

Describe what you’re building and what outcome you need. You’ll have a written, fixed-price scope within the week.