Terran · Apple Pay

A wall of red.
One clear answer.

Terran is the observability tool for Apple Pay engineering. I designed its AI-triaging workflow, so when a build breaks, an engineer reads the answer instead of chasing it.

Role
Design lead. Product direction, interaction, AI-UX, data visualization, shipped.
Built
The AI-triaging workflow inside Terran (internal tool)
Context
Apple, Wallet, Payments & Commerce

NDA note. Terran is an internal Apple tool, so I cannot show the real screens. Everything here is a recreation with mock data that represents my solution, and I am happy to walk through these mock screens in more depth privately.

The problem

It is 2am and the pipeline is red.

Not one failure. Ninety-six. To find which one matters, an engineer opens the logs in one tab, Radar in another, Splunk in a third, and the dashboards in a fourth, then correlates it all by hand.

Two hours later they have twelve tabs and no answer. The problem is not that engineers are slow. It is that we asked a person to do the machine's job, ninety-six times over.

A wall of red is just noise.

The real problem

The reflex was a chatbot. The fix was not.

The obvious move was to drop an AI chat box on the screen and let engineers prompt their way through. But I had watched them work, and a blank chat box is more work, not less.

The real problem was that engineers were doing all the digging themselves. So I flipped it. The AI does the digging in the background, and the conversation picks up with the context already loaded.

A prettier wall is still a wall.

The principle

Confidence before detail.

Every screen leads with the answer. The full evidence is there the moment you want it, and invisible until you do. And it works in the open: you watch the agent gather the logs and correlate the signals, so trust is built in front of you, not asserted at the end. The AI proposes. The engineer decides.

Status first
Triaged, in progress, or waiting on you.
Known before a click.
Summary second
One plain line of what happened.
The answer, up front.
Evidence last
The full chain, one tap away.
Trust, but verify.
Proof you can run

Watch it work.

This is the heart of Terran, rebuilt here. Trigger the triage and watch it collapse the wall into one cause, with the evidence one tap away. Nothing here is a screenshot.

Failed pr3467_grpc_deadline
Direction

From watching to acting.

Terran began as passive monitoring: it told engineers when something broke. The decision that shaped its direction was what the AI should do. I pushed for an agent that finds the cause itself, and that reframe became the roadmap.

A dashboard was the popular ask. I sequenced it last. Its value was borrowed; it depended on accurate triage underneath. Build the summary before the substance and you ship a page that looks helpful while engineers still dig by hand. Sequence the intelligence before the interface.

One design decision is now the direction for two products. The same approach is being built into Raptor, our partner-facing tool.

terran / dashboard
Dashboard
Release health and environment status
payments / sandbox Resources
CICD Pipeline Blocked
2Out of 6
Services blocked
3Out of 18
Features failed
1120 this week
PRs shipped (last 24h)
Blocked Services
TRANSFER-SERVICE14 of 246 failed
PR #382 · Add cart validation
@a.rivera · 3:00 PM
Features affected: Checkout V2
INGRESS2 of 245 failed
PR #380 · Fix retry logic
@m.chen · 1:39 PM
Features affected: Transfer Limits +1
Top Issues
3Engineering60%
1Test20%
1Environment20%
ISSUECATEGORYSERVICERADAR
Payment retry timeoutengineeringtransfer-serviceR-40218
Flaky assertion in checkouttesttransfer-serviceR-40255
Redis cache cold startenvironmentingressR-40261
Checkout total calculationengineeringtransfer-serviceR-40234
The team dashboard, recreated with mock data. I sequenced it last, once the triage underneath it could be trusted.
From a number to a decision

The score was under sixty percent.

Leadership needed confidence the AI was accurate enough to invest further. We scored it with a senior QA engineer over two weeks, across every kind of failure. The number came back under sixty percent. On its face, that could have stalled the project. But a single number usually hides something, so I broke it apart.

Under 10 failures
99%
10 to 50 failures
72%
Over 50 failures
~40%

The accuracy was not flat. At high failure counts the agent was running out of token budget and cutting its own investigation short. A scale problem, not an accuracy problem.

Once leadership saw it that way, they could act. They raised the token budget for triage, the big failures got a full investigation, and accuracy held. That is how I connect design to the business: I turn a number into a decision leadership can act on.

A single number usually hides something. My job was to find what.

Outcome

One hour, to three minutes.

Terran turns the 2am scramble into a three-minute read. It ships in production for Apple Pay engineering. I designed it in the codebase, so what shipped is what I designed.