The AI Port

Model operations · inference terminal

Flight 409 to prod is delayed. Say it on a board.

The AI Port watches your models the way a terminal watches aircraft: every inference job gets a gate, a status, and an ETA. Delays and holds have a reason a human can read out loud. It is not another MLOps dashboard with forty tabs — it is one board and a radio someone still owns.

12gates boarding this hour
4.1sp95 on the money route
2holds — GPU quota
0unacked incidents on the radio

TOWER: "D08 eval-nightly, hold at the gate, quota releases 14:30. Everyone else is on time. Over."

Night airport terminal with a glowing split-flap departure board The AI Port departure board interface with gates and hold reasons

Departures — Terminal A · 14:07 local

GateFlight (job)StatusETAGPU
A12qwen-reason · chatON TIME14:02H100×2
B04invoice-ocr · batchBOARDING14:05L4×1
C01voice-tts · realtimeDELAY 9m14:16A10×1
A03rag-legal · chatON TIME14:03H100×1
D08eval-nightly · batchHOLDqueued
C07image-gen · batchDELAY 22m14:41A100×4
B11fraud-score · realtimeON TIME14:04L4×2
E02finetune-v7 · trainHOLDmaint
A08embed-catalog · batchON TIME14:06L4×1

Green boarded on time. Amber is delayed with a stated cause. Red is held — never a silent drop. Every red line has a name attached and a controller who acked it.

The terminal, not the cockpit

One board a room can read. Not forty tabs only the ML lead understands.

Your models already emit metrics. The problem is nobody can glance at them and know if the day is fine. The AI Port turns that into a departure board an ops lead, a controller, and an on-call engineer read the same way — and a radio log so a human owns every hold.

The departure board

Every job is a flight with a gate, a status, and an ETA. On time, delay with a cause, or hold. Read it from across the room.

Gates & quota

Gates map to GPU pools. When a pool is full the board says HOLD and names the quota, not a stack trace. Controllers reassign gates by hand when they need to.

Stated delays

A delay is never just "slow." It is weight-load, cold-start, tool-timeout, or upstream. The cause is on the board next to the ETA.

A human owns the radio

Holds require an ack. Releases are logged with a name. The AI Port never auto-launches a red flight — it waits for the controller to clear it.

SLO windows

Each route carries its own on-time target. The money route can demand 5s p95 while eval-nightly just has to land by morning.

Manifest & black box

Every flight leaves a manifest: model, version, prompt hash, cost, and the controller who cleared it. Replay any hour like a flight recorder.

vLLM Triton Ray Serve Kubernetes Prometheus in PagerDuty out OpenAI-compatible

Route types we board today:

chat / support realtime / fraud batch / OCR voice / TTS RAG / retrieval image-gen nightly eval finetune / train

Ground control

The numbers a controller actually watches.

GPU gate load

71%

Above 85% the tower starts holding low-priority flights first.

Delay causes, this shift

Quota 48
Cold start 22
Tool timeout 18
Human hold 12

On-time rate

84% of flights left the gate inside their SLO window today.

p95 latency, money route

The bump at frame 60 is a cold start after a deploy. It cleared in two minutes and the board said so.

Fleet mix

58%

58% realtime, 27% batch, 15% training. Batch yields the gate to realtime automatically.

Local time

The board runs on wall-clock, not epoch. Humans schedule in "before the 9 a.m. standup," so the terminal does too.

Anatomy of a row

Everything a controller needs is on one line. Here is how to read it.

A live row, decoded

GateFlight (job)StatusETAGPU
C01voice-tts · realtimeDELAY 9m14:16A10×1
  • Gate C01 — the GPU pool this flight is boarding from.
  • voice-tts · realtime — the model and its route class.
  • DELAY 9m — amber, with the stated cause one hover away (cold start).
  • 14:16 — the ETA in wall-clock, revised, not the original.
  • A10×1 — the hardware it actually landed on.

The three colors, and only three

on time / boardingGREENgo
delayed, cause statedAMBERwatch
held, needs a humanREDack

No fourth state, no "degraded-ish yellow-orange." A room can only act on three colors, so the board only has three. Everything else is a number you can drill into, not a status you have to interpret.

Ops flow

How a job boards, delays, and lands.

  1. Check-inA job arrives with a route, a priority, and an SLO window. The board assigns it a gate the moment a compatible GPU pool has room.
  2. BoardingWeights load, context warms, tools connect. If any step lags, the row flips to DELAY with the specific cause, not a spinner.
  3. Hold, if neededNo quota, failed dependency, or a maintenance window puts the flight on HOLD. It sits red until a controller acks it — never a silent retry storm.
  4. DepartureThe job runs. p95, tokens, and cost stream to the manifest. On-time means it landed inside its window; the board keeps score per route.
  5. DebriefEvery flight closes with a manifest line: version, cost, controller, outcome. The black box lets you replay any bad hour minute by minute.

Radio log · 13:40–14:07

  • C01 delayed

    voice-tts cold start after a deploy. Cause posted, ETA +9m. No page — inside grace.

  • D08 held

    eval-nightly wanted 4×A100, pool full. Controller K. Ruiz acked the hold, release at 14:30.

  • E02 held

    finetune-v7 hit a maintenance window on the train pool. Auto-hold, human-cleared for 15:00.

  • Money route green

    fraud-score and rag-legal both under SLO. Board all green on realtime.

  • Board snapshot

    12 boarding, 2 delayed, 2 held, 0 unacked. Controller signs the hour.

Manifest

Yesterday's routes, on the record.

RouteModelFlightsOn-timep95Owner
chat / supportqwen-reason-32b18,20496.2%3.9sSupport ops
realtime / fraudfraud-score-v4402,11899.1%180msRisk desk
batch / ocrinvoice-ocr-261,54098.8%1.2sFinance
realtime / voicevoice-tts-lite9,86091.4%640msProduct
batch / evaleval-nightly1heldML platform
train / finetunefinetune-v732/3ML platform

The fraud route ran 402,118 flights at 99.1% on-time and 180ms p95 — and the one time it slipped, the board said "tool timeout on the device-graph call," a controller acked it in 40 seconds, and the money never stopped moving. That is the whole product: not fewer incidents, but no silent ones.

On-time by shift

Night97%
AM89%
Peak82%
PM93%

Peak dips because the tower holds batch to protect realtime. On purpose.

Board activity, 24h

Two peaks: the 9 a.m. rush and the nightly batch push. The board never went dark.

Hold ledger

D08eval-nightlyACKEDK.R.
E02finetune-v7ACKEDauto
C01voice-ttsCLEARED14:16

Nothing sits red without a name next to it.

Board vs. dashboard

One glance-view against the forty-tab suite it replaces.

Question at 9 a.m. standup40-tab MLOps suiteThe AI Port
Is today okay?Open 6 dashboards and guessGlance at the board
Why is voice slow?Grep logs, correlate graphsDELAY: cold-start, on the row
What is held and who owns it?No concept of a holdRed row + named controller
Did we auto-retry into a storm?Usually, then it pages youNever — holds wait for a human
What ran last Tuesday at 3?If retention allowsBlack-box replay of the hour
Can ops read it without ML?NoYes — it is a departure board

We are not trying to replace your training stack or your feature store. We replace the six tabs nobody agrees on at standup with one board the whole room reads the same way.

Proof & boundaries

What controllers say, and what the Port refuses to be.

“Our old dashboard had forty panels and nobody could answer ‘is today okay?’ The board answers it from the doorway. Standup went from twenty minutes to two.”

— Head of ML platform, fintech (Terminal plan)

“The part that sold my SRE was that it never auto-launches a held job. A red flight waits for a human. That’s the opposite of every autoscaler that paged us at 3 a.m.”

— On-call lead, e-commerce (Hub, air-gapped)

The Port is for you if…

  • You run more than a handful of models and nobody has one glance-view.
  • You want holds and delays to have a stated cause and a named owner.
  • Your on-call is tired of silent retries and mystery slowdowns.
  • A human should stay in the loop for anything red.

The Port is not…

  • A 40-tab MLOps suite that also does feature stores and labeling.
  • A training platform — it watches flights, it does not build the plane.
  • An autoscaler that launches held jobs behind your back.
  • A place for a model with no owner. Every route names a human.

Pricing

Three terminals. The radio is included in all of them.

Tower $1.2k /mo · 1 org
  • One departure board
  • Delay + hold reasons
  • Paging out to your on-call
  • 7-day manifest history
Terminal — most booked $4.8k /mo · unlimited gates
  • Everything in Tower
  • Per-route SLO windows
  • Controller acks + audit trail
  • Black-box replay, 90 days
  • Cost per flight, per route
Hub custom air-gapped
  • Runs fully on-prem, no egress
  • SSO + your GPU scheduler
  • Unlimited manifest retention
  • White-labeled board for the NOC wall
Is this an MLOps platform?

No. It is the arrivals/departures board on top of whatever you already run — vLLM, Triton, Ray, Kubernetes. We watch flights and own the radio. We do not train models or store features.

Does it ever launch a held job on its own?

Never. A held flight stays red until a named controller acks and clears it. Automation can propose a release; only a human executes one. That rule does not have a toggle.

How does it plug into our stack?

Metrics in from Prometheus or an OpenAI-compatible proxy; pages out to PagerDuty, Slack, or a webhook. Gates map to your existing GPU pools. Most Terminals board their first flight the same week.

Can it run air-gapped?

Yes — that is the Hub plan. No outbound calls, SSO against your IdP, and the board can drive a NOC wall display. Everything, including the black box, stays inside your network.

Who sits in the tower?

A named controller per shift. The board pages that person, not a Slack channel that everyone ignores.

Ground control to…

Open a terminal.

Tell us how many models you fly and which route is the money route. We will show you your board.