Choosing React Native, Expo, and a shared codebase allowed us to keep complexity down while delivering real value fast.

Industry

Travel & Hospitality

Scale

Enterprise

Platform

iOS, Android

In mid-2024, Awaze, Europe’s leading managed vacation rentals group with around 6 million holidaymakers a year, set out to build a brand-new mobile app for guests. But this was not a single app project. The challenge was to build three branded apps, each tied to a different major brand: cottages.com and Hoseasons in the UK, plus Novasol for the European market with support for more than 10 language locales. And they had about 10 months to get them shipped.

Building the right team, fast

The first task was figuring out what kind of developers to hire. The team wanted to build cross-platform apps and leverage the fact that their web products were built in React, so React Native quickly became a clear front runner.

They needed engineers with breadth: developers familiar with React Native who also had T-shaped skill sets that could handle an AWS-based backend and the realities of integration and testing in a large enterprise environment.

By January, the team had grown to five engineers and two QA engineers. That left just five months to build and ship in time for the peak booking season in May and June.

Choosing Expo and keeping it simple

For the team, Expo was the obvious choice to scaffold the apps. Even before the team was in place, it allowed experimentation and prototyping using Expo Go.

It became clear they could manage all three brands from a single codebase, using a single environment variable to switch between app configurations. Once development builds were running, Expo’s tooling made it straightforward to build and test across multiple brands without duplicating effort.

Reducing cognitive load with EAS

EAS Build allowed the team to generate separate binaries for each branded app, using custom build profiles and environment variables to manage differences in configuration. Engineers could trigger development builds or updates for cottages.com, Hoseasons, or Novasol simply by opening a single PR.

Each app uses a custom config file that exports brand-specific configuration based on a single EXPO_PUBLIC_BRAND environment variable. This is consumed by app.config.ts to generate a tailored ExpoConfig for each brand, controlling app names, splash screens, project IDs, and more from a shared structure.

The team also made extensive use of EAS Update, particularly for internal testing and QA. Rather than creating new builds of all three apps with every pull request, they used EAS’s fingerprinting mechanism to push updates over-the-air. This gave them fast feedback loops and kept internal testers working with the latest features without needing to install a new build.

Future-proofing with Expo Router

The team leaned heavily on Expo Router, using it to wrap WebViews inside native routes. This allowed them to treat every embedded web experience as a screen in its own right, preserving deep linking, consistent navigation patterns, locale handling, and the ability to swap in native implementations over time.

Localization at scale

For Novasol, the team needed to support 14 language variants across a range of European markets. They used the Expo Localization package to read device language settings, mapped detected locales to supported languages, and used i18next with existing translations from their CMS.

From launch to iteration

Despite the time constraints and complexities of team building within an enterprise environment, the team delivered all three apps in time for peak holiday season. Getting to market quickly has made the team a revenue stream rather than a cost center.

The team has also built a suite of Maestro tests alongside their apps and is planning to upgrade to Expo SDK 53, looking forward to new native UI tooling and background tasks.

One codebase, three brands, and a strong start

Awaze took a bold approach: build three branded mobile apps from a single codebase, with a new team, in just over six months. Choosing React Native, Expo, and a shared codebase allowed them to keep complexity down while delivering real value fast. They are now focused on iterating and making the experience even better for their 6 million annual guests.

The framework behind thousands of companies.

Get Started for Free