Building B2C and B2B apps to help a startup airline take off

3
minute read

Summary

The client, a newly launched airline offering charter flights to short- and medium-haul destinations, aspired to be a cloud-based and entirely paperless business. As a startup, their business model lent itself well to fully digitalised operations. However, these would need to be designed and built from the ground up, and sit within a complex ecosystem of third-party software and multiple sources of data ingestion. 

The Background

To achieve their digital-first aspirations, the client knew they wanted to allow their clients and staff to self-serve as much as possible. It was decided that two mobile apps would be created:  

  • A customer app that allowed users to self-serve almost every pre-departure action item
  • An employee app that enabled crew to manage pre- and post-flight logistics

The Technical Bit

In choosing the technical approach, the team had to consider the following main aspects:

  • Building mobile apps entails designing and developing for both Android and iOS. In practical terms, this translates into crafting a user experience that follows each platform’s respective UI guidelines and developing for two entirely different environments, with their respective differences and constraints. 
  • iOS deployment and testing requires following strict Apple app store guidelines, and the approval process is thorough and time intensive. 
  • The apps have to be available online and offline, responsive even when the mobile network is unavailable or unstable during flights.
  • The client required a CMS that would allow a non-technical user to handle all content, including more complex operations like creating and managing flights.
  • An integral feature of the apps shows live plane location and weather data on maps.
  • Both apps also have to work across time zones, adjusting their information display to the users’ current location as well as arrival and departure time zones.
  • On the devOps side, the mission entailed CI/CD for both mobile apps (Android and iOS) and APIs.

The team decided to create a monorepo for each app, which offered  several advantages: visibility (everyone can see everyone else’s code; this leads to better collaboration and cross-team contributions), consistency (code quality standards and a unified style), shared timeline between front and backend, and implicit CI.

The tech stack was a mix of mostly open source tools: 

  • React Native for cross-platform mobile development
  • Strapi.io headless CMS for content management 
  • Apollo GraphQL for a flexible API layer
  • React Native’s AsyncStorage for constant availability in online and offline mode
  • FlightAware API and OpenWeather API for live flight coordinates and weather data

Strapi CMS was hosted in Amazon Elastic Container Service (ECS) as a container connecting to a RDS mysql instance. Amazon ECS is a fully managed container orchestration service that allows engineers to deploy, manage and scale containerised applications. Github actions were used for all CI/CD pipelines and Datadog for log aggregation, alarms, infra visualisation and service uptime monitoring.

Every week we delivered product increments and kept a dynamic product backlog, often revised and adapted based on feedback and updated requirements. 

The Results

The client made significant progress in their ambition to become a fully digital, paperless airline with these apps. User experience was the north star during the development of these apps, and the feedback from both audiences, airline clients and crew, illustrates that it pays off to concentrate efforts on good UX. 

The customer app welcomes the user with the option to view their charter flights, get contact details and to check for notifications. The app also offers a fleet overview which consists of descriptions, pictures, videos and seat maps, all managed by the client in Strapi. For each reserved flight, the user can check the route, menus, passenger manifest, service team, flight documents and aircraft details. For current flights, the live aircraft location and weather at origin and destination are available and visualised on a map as well. Users are kept informed through a notifications system (including push), triggered by any updates concerning their flights.

The employee app was designed for the flight crew to find flight details and contacts they would need before, during and post flight.  For each flight, the app offers access to route, timetable and flight documents. Users also have the option to save the flight and related documents to ensure data availability in offline mode. An important and necessary feature of the app is the possibility to create and share with the rest of the crew relevant flight documents, like the passenger count record or supply orders.

Final Thoughts

From the start, the Lola Tech team was allowed plenty of design freedom, which meant that besides the basic features our client had in mind at the beginning, we could enhance the apps with additional useful features like 'Where's my aircraft' and 'Weather at origin and destination'. Looking back, we can conclude that good communication in the scrum team, early and continuous delivery of valuable increments, along with attention to good design and technical excellence, are reliable ingredients for any successful collaboration. 

This was part of a wider engagement with the client that also included the creation of complex and cloud-based middleware. You can read more about this particular project here.

Have a project in mind? Let's talk.

Contact us