Skip to content
Start a consult
All case studies
Case Study · 01Cabin Control AppBusiness Jet OEM · Name withheld · 2025–2026

Cabin control from every seat: a cross-platform PED app.

1 codebase

A single React Native codebase delivering native-quality iOS and Android apps.

Offline-first

Fully functional over the aircraft's onboard network, with zero internet dependency.

Real-time

Cabin state synchronized across every connected device, instantly.

The Challenge

A cabin control app doesn't get to behave like a consumer app.

Passengers expect to control the cabin the way they control everything else: from the device already in their hand. The Personal Electronic Device (PED) application turns any passenger's phone or tablet into a control surface for the aircraft cabin, lighting, media, climate, and other cabin functions, from any seat.

There is no cloud to lean on at 40,000 feet. The app communicates directly with the cabin management system over the aircraft's onboard network, and it has to work every time, immediately. When one passenger dims the lights, every connected device has to reflect the new cabin state instantly and consistently. A climate adjustment that silently fails, or a media command that fires twice, is not an acceptable failure mode in this environment.

The Product

What a passenger sees.

One screen for the things people actually reach for: shades, air, light and temperature, with the cabin audio along the bottom. Every control shows the state the cabin has confirmed, not the state the finger asked for.

PED app dashboard: shade zone selector, fan speed, lighting dimmer with power and colour, temperature dial, and a now-playing bar
  • Lighting tile with a vertical dimmer, power button and colour paletteZone lightingDimmer, power and colour per zone. The slider settles where the lights actually are, because the cabin acknowledges the level before the UI commits to it.
  • Temperature dial showing 65 degrees FahrenheitClimateOne dial for the set point, with explicit acknowledgement from the cabin management system. A change that silently fails is not a state the app can be in.
  • Window shade control with an all-zones selector and up and down arrowsWindow shadesOne window or all of them. Commands are acknowledged or explicitly fail; nothing is left half-done when a device drops off the network mid-press.
  • Now-playing bar with track title, artist, play button and volume sliderNow playingTransport and volume for the cabin audio system, kept consistent on every connected device at once.

Screens from the shipping application

What We Built

A consumer-grade experience held to an aviation-grade standard.

  • One codebase, native quality

    A single React Native codebase delivering iOS and Android apps, so the experience is identical regardless of what device a passenger boards with.

  • Direct cabin integration

    Direct integration with the aircraft's cabin management system over the local onboard network, fully functional with zero external connectivity.

  • Real-time state synchronization

    Cabin state synchronized across all connected devices, so every screen agrees on the state of the aircraft at all times.

  • Deterministic command handling

    Explicit acknowledgment and failure states for every command. The UI never claims something happened unless the cabin confirmed it.

  • Built for cabin realities

    Resilience for devices joining and leaving the network, connections dropping mid-command, and recovery without user intervention.

The Outcome

The cabin, controlled from the device already in your hand.

A passenger-facing app that holds up to the standards of the airframe it flies on: predictable, immediate, and resilient, across every seat and every device in the cabin.

On the ground, an unresponsive app is an annoyance. In a cabin, it's a support call to the flight deck. We built for the second standard.

Tell us what has to work. We'll tell you what it takes.

Start a technical consult