
Time on hold becomes a delay.
When pilots are forced to wait, they have to push back their schedule, which causes flight delays and escalates operational conflicts.
Electronic Communication System
Taking the first step towards building a unified crew member platform.
ECS was the first step toward a more cohesive crew member application ecosystem. At the time, our crew typically used dozens of communication channels and third-party apps to get things done. ECS paved the way to bring all of them under one umbrella.
Response time is 4–5 minutes, down from up to 3 hours.
Each IOC worker now covers 4–5 bases, up from one or two.
A home for other tools and services, further consolidating the crew member experience.
IOC members now triage bases at a 6:1 bases-to-tracker ratio, up from 2:1.
Flight recovery increased by 96%.








I facilitated negotiations between the pilot union and American Airlines, eventually narrowing down the scope to 8 key communications. After interviewing 30+ pilots, IOC trackers and schedulers, we intermittently released a beta version of the application to a small group of pilots before eventually releasing it to all flight crew.

When pilots are forced to wait, they have to push back their schedule, which causes flight delays and escalates operational conflicts.
Pilots are put on hold or told someone will reach out. They have no way to know whether anyone is handling the request.
A routine operational question can take up to 3 hours, a full duty period, to resolve.
Pilots wait for a spoken confirmation while they handle other cockpit tasks.
Pilots often do not know which channel or app to use for a request. Many bypass the standard process to get someone's attention.
Every gate change, maintenance call, and crew swap for the network goes through the Integrated Operations Center. A controller supports dozens of flights at the same time. I worked with IOC staff during live operations. I watched the real failures, workarounds, and desk changes that a survey does not show.

About 20,300 calls a month come in, nearly all by phone tree or radio. During irregular operations, like weather or ATC delays, the lines get busier still.
Controllers know only who is on the line and how long they have been on hold. An urgent request looks the same as a routine one until someone picks up.
With no priority or workload management, controllers can't see which base is falling behind or move requests between desks, so the IOC is slow to adapt when needs change across bases.
Phone, radio, and email leave no record of who did what, so controllers double-check and redo work. A simple request can turn into a major headache.

ECS had to be modular. Dozens of other frontline operational tools were expected to join it over time, so request types, desks and services were built as parts that could be added without reworking the rest.
The pilot and the IOC work from the same structured request: a few taps on the jet bridge, a sorted queue on the operations floor.

The pilot picks a request type, such as fatigue, sick, late sign-in or hotel, and sends it. ECS routes it by the pilot’s 4-Part Bid Status to the desk that can act, where it pops up at the top of that desk’s inbox for an IOC member to take. No hold and no phone tree.
We kept this timestamped log instead of live updates because of technical constraints and spotty Wi-Fi in the air. Each step is recorded as it happens.

A pilot’s state will determine whether or not they’ll receive push notifications.
Controllers move between the tools in the CME product suite, such as crew lookup, flights, sequences and open time. The ECS Inbox opens as a side panel on any of those screens, so a new request can be handled next to the crew member they are already working on, without leaving the task in front of them.
IOC members work across 3–4 screens and 5–6 applications at any given time to support frontline crew. The IOC side of ECS had to fit into that setup: easy to scan at a glance, and quick to act on without pulling attention from everything else on the desk.

IOC members can now assess what level of urgency they should give to specific requests based on request type.

The Desks view shows how many requests each desk has, how many are still unassigned, and how long the oldest has waited. When a desk falls behind, another IOC member can open it and take its requests. Each step sends the pilot a message, from “Crew Scheduling is processing your request” to an updated schedule.