Seth ArvilaDesign Engineer

← All work

Apex IFE

A seat-back screen with a real flight underneath. Leave mid-flight, and the plane keeps flying.

Role
Design and development
Timeframe
In development
Team
Solo
Tools
Swift, SwiftUI, MapKit, WeatherKit, AVFoundation
Apex IFE on iPad showing the moving map: a flight path from San Francisco to Los Angeles over the California coast, with altitude, speed, and heading above it.

A · The brief

A seat-back screen for a fictional airline

I’m an aviation enthusiast, and I wanted a way to simulate being a passenger. Flight simulators put you in the cockpit, but nothing put you in a seat in the cabin, so I built it: an iPad app that recreates the seat-back screen on Apex Airways, an airline I made up. It isn’t a utility. Every decision had to serve the feeling of being on board.

I kept the scope tight on purpose. The goal was a highly polished app, not a long feature list.

B · Taking it further

A flight that holds up for hours

A real flight is four hours of mostly waiting, and the screen has to stay believable the whole way. The plane should be where it would really be. The crew should interrupt on schedule. The connecting flights board should pick up delays as they happen.

None of that can reset because the iPad went to sleep or the app was closed. Screens with canned data wouldn’t hold up, so the interface needed an actual flight underneath it.

The solution

Fig. 2.1 Leaving the player doesn’t stop the movie: it keeps playing, with a control bar at the top of every screen to return to it.
Fig. 2.2 The map’s three modes: the 2D route map, a 3D chase view over satellite imagery, and a nose camera looking down at the farmland below.
Fig. 2.3 Restarting asks before it cancels the flight, then goes back to the gate: pick a route, check the boarding pass, and start again.
The Apex IFE flight picker: two large flight cards, Minneapolis to Miami and Chicago to San Francisco, each with times, weather, aircraft details, and a Start Flight button over a photo of the destination.

1 of 3The Apex IFE flight picker: two large flight cards, Minneapolis to Miami and Chicago to San Francisco, each with times, weather, aircraft details, and a Start Flight button over a photo of the destination.

  1. The flight runs on the clock

    Pressing Start records the departure time, and everything else is calculated from how long ago that was: position along the great-circle route, altitude, heading, outside temperature, the landing countdown. There are no timers to drift. Close the app and reopen it an hour later, and the plane is an hour further along, with nothing to catch up.

  2. The crew keeps to a script

    Each flight has a fixed announcement schedule: welcome aboard, the seatbelt sign for descent, prepare for landing, plus cruise announcements that feel random but are seeded from the departure time. The same flight always plays out the same way, and an announcement you missed never fires late. A chime synthesized in code plays first, a banner slides in, and any movie that’s playing ducks underneath.

  3. The world outside keeps moving

    The connecting flights board is generated from the departure time too. Every ten minutes of flight, a delay or a boarding call updates a flight or two, with the original time struck through. Weather at both ends comes live from WeatherKit, and the map runs a day and night cycle.

  4. Three ways to watch the map

    A flat route map, a 3D chase view over Apple’s satellite terrain, and a nose camera that looks straight down. The nose camera’s height follows the plane’s real altitude, so the ground falls away during the climb and comes back up on approach.

  5. Built the way Apple builds

    SwiftUI throughout, with Dynamic Type, VoiceOver labels on every stat, and a calmer path for each animation when Reduce Motion is on. Every screen works in portrait as well as landscape, with nothing hidden or downgraded in either.

Impact and reflection

Apex IFE runs end to end. Pick one of four routes, board at the gate, fly in real time, and deplane, and the trip is saved to your recent trips. The entertainment tabs play public domain films and live NASA TV. It’s still in development.

What I'd do next

Making the flight a function of time was the decision that paid for everything else. Resuming, the debug menu that jumps to any phase, and the tests all came almost for free, because there was never any state to rebuild.

Next is sound. One captain’s voice, recorded for every announcement, will replace the synthesized speech, and an optional soundscape will follow the flight: a cabin hum at cruise and a real engine spool-up on takeoff. After that, a Live Activity puts the landing countdown on the Lock Screen, and 3D models of each aircraft in Apex livery replace the placeholder.

The long-term plan is to bring it into an Apple Vision Pro app, so the seat-back screen becomes one part of being fully immersed as a passenger on a plane.