React Native App Development

One codebase for iOS and Android — and an honest answer about when that is the wrong choice.

React Native suits most apps. Where it genuinely does not, I will tell you before you spend money: heavy real-time video processing, serious 3D, or deep platform-specific hardware integration are usually better native. For the large middle ground — anything built around content, accounts, forms, payments, messaging or scheduling — one codebase across both platforms is a straightforward saving.

The part teams underestimate is not the code. It is the release pipeline: provisioning profiles, store review, staged rollouts, crash triage, and shipping a fix when a release breaks for a subset of devices you do not own.

What you get

iOS and Android from one codebase

Shared logic, with platform-specific behaviour where it matters — navigation patterns, permission prompts and back-button handling differ, and apps that ignore that feel wrong on at least one platform.

Offline-first where it matters

Local persistence and sync with conflict resolution, so the app stays usable on a bad connection instead of showing a spinner on a train.

Push notifications

FCM and APNs set up properly, including deep links that open the right screen and permission prompts asked at a moment the user understands.

App Store and Play submission

I handle builds, signing, store listings and the review back-and-forth. First submissions get rejected for predictable reasons; knowing them in advance saves a fortnight.

Crash and performance monitoring

Sentry or Crashlytics wired in from the first build, with source maps uploaded, so a crash report points at a line of code rather than minified noise.

Over-the-air updates

Shipping JavaScript-level fixes without a store review cycle, within the limits the stores actually permit.

What I build with

How the work runs

  1. Decide Expo or bare early

    Expo covers most apps now and removes a lot of native build pain. Bare is for genuine native module needs. Switching later is expensive, so this is settled first.

  2. Build on a real device from week one

    Simulators hide jank, thermal behaviour and keyboard problems. Testing happens on actual mid-range hardware.

  3. Set up signing before it is urgent

    Certificates and provisioning are the most common cause of a release slipping. They get sorted at the start, not the night before launch.

  4. Soft launch

    A staged rollout or TestFlight group before general release, so a bad build reaches a handful of users rather than all of them.

Typical projects

Companion apps to a web product

Reusing your existing API to put the core workflow in users' pockets.

Booking and scheduling apps

Calendars, reminders, rescheduling and payments.

Delivery and field apps

Job lists, status updates, barcode scanning and location, built to survive weak connectivity.

Content and community apps

Feeds, profiles, notifications and in-app messaging.

Questions

Will a React Native app feel as good as a native one?

For the categories above, users will not be able to tell. Where the gap shows is sustained 60fps animation under load, heavy media processing and very deep OS integration. If your app's core value is one of those, native is the right call and I would rather say that now than discover it in month three.

How long does it take to build an app?

A focused first version with accounts, a core workflow and payments is typically eight to fourteen weeks including store submission. The honest variable is not engineering speed; it is how settled the scope is. Projects that take much longer are usually projects that changed definition twice.

Do you also build the backend?

Yes — see the Node.js page. Having one person across the API and the app removes a whole class of integration argument, though I am equally happy consuming an API your team owns.

Who owns the App Store and Play accounts?

You should, always. I will walk you through creating them under your own company identity and work inside them with delegated access. Apps published under a contractor's developer account are painful to move and give someone else control of your listing.

What about app maintenance after launch?

Mobile needs ongoing attention whether or not you add features — the platforms raise minimum SDK versions annually and libraries age. A small monthly retainer covering OS updates, dependency patches and crash triage is usually more economical than an emergency fix when the app stops building.

Tell me what you are building

A short call costs nothing, and if your project is a better fit elsewhere I will say so. Replies usually within 24 hours.

Get in touch