InboundIQ — Intelligent Dock Allocation Engine
Reduced truck TAT from 6.7 → 2.2 hours across Amazon FCs
Problem Statement
Fulfillment Center dock doors are among the scarcest resources in Amazon's inbound logistics network — each site operates with just 10 to 15 doors. Without a systematic prioritization engine, operations associates relied on manual judgment to decide which truck in the yard should be sent to the next available door. This approach introduced inconsistency, bias toward familiar carriers, and frequent misallocation that left high-priority cargo waiting while less urgent loads occupied doors.
Heimdall (InboundIQ) replaced all manual decision-making with a data-driven priority model. The system continuously evaluates every truck in the yard across five weighted dimensions — shelf criticality, appointment urgency, dwell time, stow window pressure, and arrival timing — to produce a real-time ranked queue. When a door becomes available, the highest-priority truck is automatically surfaced to the operator, eliminating guesswork and ensuring that the most business-critical cargo always moves first.
System Architecture
Serverless, event-driven architecture on AWS. The system ingests real-time appointment, shipment, and yard events through the Infinity Pipeline (SNS), processes them via Lambda, persists state in MySQL RDS (Multi-AZ), and serves a React dashboard through API Gateway. Drag to explore, scroll to zoom.
Animated edges show the primary request path. Dashed edges show async/secondary flows.Database Schema
Appointments
| Column | Type | Notes |
|---|---|---|
appointmentId | VARCHAR | PK |
warehouseId | VARCHAR | FK → FC |
appointmentStatus | ENUM | OPEN, CHECKED_IN, CLOSED |
carrierName | VARCHAR | SCAC carrier |
appointmentStartDate | DATETIME | |
appointmentEndDate | DATETIME | |
vrid | VARCHAR | Vehicle Registration ID |
unitCount | INT | |
cartonCount | INT | |
apptType | ENUM | CARP, AMZL, SPD, HOT |
lowInstockPct | DECIMAL | 0-80, shelf criticality |
scac | VARCHAR | Carrier code |
doorNumber | INT | Assigned dock door |
lastUpdatedTime | DATETIME | |
recordVersion | INT | Optimistic locking |
YardEvents
| Column | Type | Notes |
|---|---|---|
nodeId | VARCHAR | PK |
buildingCode | VARCHAR | FC identifier |
equipmentNumber | VARCHAR | |
registrationId | VARCHAR | |
shipperAccount | VARCHAR | |
vrid | VARCHAR | |
ISA | VARCHAR | ISA identifier |
userId | VARCHAR | Operator |
timeStamp | DATETIME | |
notes | TEXT |
Shipments
| Column | Type | Notes |
|---|---|---|
appointmentId | VARCHAR | PK (composite) |
shipmentId | VARCHAR | PK (composite) |
warehouseId | VARCHAR | |
eventType | ENUM | |
cartonCount | INT | |
unitCount | INT | |
shipmentStatus | ENUM | |
recordVersion | INT |
Priority Scoring Model
Priority Score = (lowInstockPct × 0.35) + (apptTypeScore × 0.25) + (dwellHoursScore × 0.20) + (stowUrgencyScore × 0.12) + (arrivalScore × 0.08)
Low In-Stock %
35%Appointment Type
25%Dwell Hours
20%Stow Urgency
12%Arrival Status
8%LLM Enhancements
Explain Rank ✦
Per-truck AI explanation of why it is ranked at its current position, referencing actual model weights — lowInstockPct, apptType, dwellHours, stowUrgency, and arrivalStatus — with a plain-English narrative for operations associates.
Represents how I would build this system today with LLM capabilitiesNatural Language Filter ✦
Plain English queries like "show HOT trucks with high instock need" or "dwell over 12 hours at SEA1" that the LLM translates into structured filters applied to the yard queue table in real time.
Represents how I would build this system today with LLM capabilitiesDock Intelligence ✦
AI-powered recommendations for dock allocation that analyze the current yard queue, dock occupancy, unloading ETAs, and truck priority scores to suggest which truck should be assigned to the next available door.
Represents how I would build this system today with LLM capabilitiesAsk the Yard ✦
Conversational chat interface with full yard context — docked trucks, waiting trucks, door status, and FC metrics — enabling operations leads to ask ad-hoc questions without building queries.
Represents how I would build this system today with LLM capabilitiesKey Metrics
6.7 → 2.2 hrs
Truck TAT P95
100%
Decision Automation
5 FCs
Deployment Scope
<2 min
Ranking Refresh Rate