James Kim
Contact Me

Electronic Communication System

Creating a centralized pilot experience.

Taking the first step towards building a unified crew member platform.

Microsoft customer story, June 2025.How American built ECS for nearly 15,000 pilots on Azure Communication Services. Read the story

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.

10,934 calls a month20,32945% fewer

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.

Before ECSAfter ECS 25k 20k 15k 10k 5k 20.3k avg 10.9k avg ECS launch Jan 24 Mar May Jul Oct Jan 25 May Sep Before avg ------ After avg ------ Reduction -------- Response -------
  • 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 built 2 teams centered around 2 different goals.

The IOC floor: rows of controller desks under wall displays
Live observation
A controller at a multi-monitor console, seen over his shoulder
Shadowing
IOC staff sorting sticky notes on a whiteboard wall
Affinity sorting
James, in black with a microphone, leading an importance and difficulty mapping session in front of a whiteboard wall
Importance/Difficulty Mapping
Designers running an abstraction laddering session at a whiteboard
Abstraction laddering
Stakeholders reviewing printed journey maps taped to a window
Journey mapping
On the IOC floor and in sessions with the pilot union, we leveraged several research and design thinking methods to discover what exactly needed focus.
A working session with pilots and the pilot union around a whiteboard titled Hotel Issue
Team A was responsible for maintaining relations with the pilot union and building the pilot-facing app.
A designer taking notes beside an IOC staff member at an operations desk
Team B made sure our internal stakeholder needs were taken care of at the IOC.
Research · Pilots

Pilots need to stay in motion.

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.

A pilot on the phone in a busy airport terminal

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.

No status after the call.

Pilots are put on hold or told someone will reach out. They have no way to know whether anyone is handling the request.

3 hrsfor a yes / no answer

A yes/no answer takes hours.

A routine operational question can take up to 3 hours, a full duty period, to resolve.

PhoneWaiting for verbal confirmation
  • Cockpit taskson hold
  • Next stepunknown

Confirmation only by voice.

Pilots wait for a spoken confirmation while they handle other cockpit tasks.

No clear process, so pilots go around it.

Pilots often do not know which channel or app to use for a request. Many bypass the standard process to get someone's attention.

Research · IOC

The Integrated Operations Center had no way to prioritize and adapt.

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.

The American Airlines Integrated Operations Center: rows of controller desks under wall displays
Before ECS20,300calls a month, nearly all by phone tree or radioCalls spike during irregular operations

Call volume keeps the IOC on its toes.

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.

IOC · incoming calls
  • Pilot · DFW?14:02
  • Pilot · ORD?9:47
  • First officer · CLT?6:15
  • Pilot · PHX?3:30
  • Pilot · MIA?0:52

The IOC sees who is calling, not what they need.

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.

No priority · no workload viewOpen calls by baseEach desk serves its own bases
  • DFW1 desk
  • CLT1 desk
  • ORD1 desk
  • PHX1 desk
  • MIA1 desk
Can't rank requests or move work between desks

The IOC can't shift work to where it is needed.

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.

No audit trailHotel for a crew at ORDA simple request
  1. 1Ask the desk if it was booked
  2. 2Call the pilot back to confirm
  3. 3Search email for a reply
  4. 4Re-enter the details
  5. 5Ask again at shift change
5 touches · still unconfirmed

No audit trail, so simple tasks become rework.

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.

Stakeholders reviewing printed journey maps taped to a window
Built to grow
Hotel / LimoCheck-inFlight records+ dozens more

Modular, so other tools can plug in.

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.

Electronic Communication System

Clear decision making to remain adaptive.

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.

Two IOC controllers at a desk on the operations floor, one on the phone

One tap sends a structured request.

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.

06
SolutionOne fatigue call goes from the jet bridge to the ops floor and back.
  1. Pilots contacted the ops center by phone tree, radio and email. A routine question meant a 45-minute hold.
  2. I changed the call into a structured request: fatigue, sick, late sign-in. The pilot sends it with one tap and does not wait on hold.
  3. The request carries its own priority, so urgent requests are no longer lost in routine traffic.
  4. The system routes the request by equipment and base, directly to the desk that can act on it.
  5. On the ops floor, controllers see all requests from all bases in one list, sorted by priority.
  6. The answer comes back in the app, and FOS updates the trip automatically.
  7. That is ECS: 45% fewer calls to the ops center. Send a request.

New request

SEQ 16478 · DFW
// the request, live type"Fatigue" desk737 · DFW statusconfirmed · 4 min
no shared queue: pilots do
not know their place
one structured tap
the priority goes
with the request
routed to the correct desk
all bases in one queue
4–5 minutes,
down from up to 3 hours
live: send a request

A clear status for every request.

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.

Messages follow the duty state.

A pilot’s state will determine whether or not they’ll receive push notifications.

IOC desktop: Crew Member Lookup with profile, monthly schedule calendar, and the ECS Inbox panel open beside it

The ECS Inbox opens from anywhere in CME.

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.

Designed for a crowded desk.

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.

An IOC controller at a desk with three monitors, each running a different operations system

Trackers can now spot critical tasks.

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

One desk can step in for another.

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.

"It's awesome to see your hard work turn into positive impact for the operations, especially during our recent weather events and IT outage! I know ECS will continue to improve with your involvement."
— Kathy Dang, American Airlines UX · on ECS 10.J
"Being able to create great user experiences is one thing. Being able to create them in a politically charged environment with all eyes on you is another."
— Richard Till, Director, Crew Schedule Planning · on ECS
"You intentionally deep dive to broaden your understanding of ECS. You empathize with the need of the crew schedulers and crew trackers. You grasp the complexity of ECS workflow and data structure with ease."
— Nuong Luu, Manager, IT Applications · on ECS
"I had no doubt that given the opportunity, you'd be the perfect person to help guide strategy of a program as important and ambiguous as ECS!"
— Leigh Campbell, Manager, American Airlines UX · on ECS
"It's one of the most important things we'll work on in 2024, and I feel a peace knowing you're both working it! I know your efforts will make a long-term difference for the best for our Pilots!"
— Andrew Weibert, American Airlines UX · on ECS