Skip to content
Agencei

Expertise

React Native expertise: one application for iOS and Android

React Native lets you build native mobile applications for iOS and Android from a shared JavaScript or TypeScript codebase. With the New Architecture (JSI, Fabric, TurboModules) and the Expo ecosystem, it now delivers near-native performance and a very short release cycle.

Agencei uses React Native for business applications, customer-facing apps and mobile companions to a SaaS product. We rely on Expo, Expo Router and EAS for building, signing and publishing to the stores.

It is the right choice when you want to ship both platforms at once, share logic with a React web application and update the app frequently without doubling the cost.

Use cases

Field business applications

Tools for technicians, sales reps or drivers: forms, photos, signatures, geolocation and offline operation with synchronisation.

Customer applications

Customer accounts, bookings, order or case tracking, push notifications and integrated payment.

Mobile companion to a SaaS

Mobile version of an existing web product, reusing the API and part of the business logic already written in TypeScript.

Applications with hardware peripherals

Bluetooth, NFC, camera or sensor integration through native modules, without leaving the React Native ecosystem.

Replacing separate native apps

Replacing two Swift and Kotlin codebases with a single React Native codebase to reduce maintenance effort.

Project types

  • B2B mobile application
  • Consumer-facing customer app
  • Offline-first business application
  • Mobile companion to a SaaS
  • Booking application
  • Internal employee application

Integration with the rest of the stack

  • React Native + Expo and EAS

    Expo provides the common native modules and EAS handles builds, signing and publishing to the App Store and Google Play from the CI pipeline.

  • React Native + Node.js or Spring Boot API

    The app consumes the same API as the web; authentication relies on short-lived tokens and a secure refresh token stored in the device keychain.

  • React Native + AWS

    Push notifications through SNS, media storage on S3 and Cognito authentication when the client's infrastructure already runs on AWS.

  • React Native + React web

    Sharing types, validation schemas and business logic between the mobile and web applications in a monorepo.

Examples of problems solved

Long lists that stutter

Replacing ScrollView with FlatList or FlashList, virtualisation, item memoisation and reducing work on the JavaScript thread.

Inconsistent offline synchronisation

Introducing a local mutation queue (SQLite or WatermelonDB) with conflict resolution and automatic retry when the network returns.

iOS or Android build failing after an upgrade

Aligning React Native, Expo SDK and native module versions, cleaning up Gradle and CocoaPods configurations.

App rejected by the stores

Fixing the blocking points: unjustified permissions, privacy policy, account management and in-app purchase handling.

Frequently asked questions

Is React Native as fast as a native app?

For the vast majority of business and consumer apps, yes. The New Architecture removed the historical asynchronous bridge. Very intensive cases (3D games, heavy video processing) are still better served natively.

Should we use Expo?

We recommend it in almost every case. Expo no longer prevents adding custom native modules and greatly simplifies builds, updates and publishing.

Can we ship fixes without going through the stores?

Yes, for JavaScript code, thanks to over-the-air updates with EAS Update. Any change to native code still requires a new submission.

How do you handle testing on mobile?

Unit tests with Jest, component tests with Testing Library, then end-to-end tests with Maestro or Detox on simulators and real devices for critical journeys.

Can you add native code if needed?

Yes. Expo Modules let us write Swift and Kotlin modules cleanly integrated into the project, for instance for a payment SDK or a specific peripheral.

Tell us about your project

Describe your need in a few lines: we come back to you with a first analysis and the next steps.