Customers

Flexport

Flexport logo

What we were looking for

We first used Expo in order to build a quick prototype of our app during an internal hackathon. This allowed us to move fast, and address some concerns early on. What we proved with this prototype was:

  • the performance was indistinguishable from native for us
  • engineers with no mobile experience could be productive within hours.

Beyond those two things, we also wanted our app to:

  • Be optimized for engineering velocity
  • Have a native-app feel
  • Support both Android and iOS with little to no platform-specific code
  • Have access to hardware features like GPS, notifications, etc.

What Expo delivered

Expo and React Native promised and delivered on all of these fronts, and more. The codebase is manageable, we haven’t needed to write any native code, and we only have two React Native components with platform-specific definitions.

Expo also saves our engineers time by providing killer deployment tools, powerful abstractions over native APIs, excellent documentation, and simple integrations with services like Sentry and Amplitude. All this time saved means our engineers can take on more ownership of the product itself, and lead features end-to-end.

Although engineers are taking on more ownership themselves, collaborating with other engineers, designers, and product managers is still made easy with Expo. Each time a git branch is updated, we automatically deploy a new JS bundle, and any team member can scan a QR code to open that version of the app in Expo Go on their phone.

Looking forward

A concern we had was that everything would work well early on, but that we’d eventually outgrow things once we were in a production environment. That hasn’t happened for us. Flexport is starting to explore new use cases for greenfield mobile apps, and our plan is to invest further in React Native and Expo.

Max Heinritz, Software Engineer