Apex AirLink Passenger Messaging System

Active Hub: (Currently only covering this airport)
← Return to Portfolio
Current Time: Loading...
Last Scan: Polling data...
Next Scan: 00:00:00

What is Apex AirLink?

An automated passenger dispatch and outreach control system designed to coordinate passenger communications during airport departures.

What goal does it achieve?

It calculates personalized leave-home deadlines (factoring in 1h domestic / 3h international check-in buffers plus live drive times) and drafts proactive SMS updates, suppressing messages if conditions are normal.

Why was it built this way?

Using a cooperative multi-agent pipeline (Scenario, Operational, and CX agents) allows LLMs to handle complex reasoning—such as interpreting weather alerts and writing context-aware passenger notifications—more dynamically than rigid code.

Showcase Schedule: The pipeline runs on a fixed 4-hour interval (00:00, 04:00, 08:00, 12:00, 16:00, 20:00 ET), fetching live weather feeds for Washington Dulles (IAD) and generating fresh passenger scenarios each cycle.
Dulles Hub (IAD) --°F Loading weather...
5h Forecast:
Agent 1

Scenario Generator

Simulates traveler groups & routes based on Dulles weather.

Agent 2

Operational Analyzer

Calculates travel times & triggers dispatch status alerts.

Agent 3

CX Outreach Director

Synthesizes weather alerts & SMS outbox drafts.

Loading messaging board...

Behind the Scenes — System Architecture

An autonomous multi-agent pipeline executing every 4 hours via GitHub Actions. The system fetches live meteorological data, programmatically analyzes travel risk, and orchestrates Gemini agents to draft outreach communications.

Real Multi-Agent System

True Collaboration vs. Monolithic LLM: While it is possible to "cheat" by using a single massive prompt to generate, evaluate, and write messages all at once, this dashboard showcases a genuine multi-agent design. By partitioning responsibilities—Agent 1 generates scenarios, a programmatic JavaScript rules engine (acting as Agent 2) performs exact mathematical lookups and scales commute times based on weather, and Agent 3 roleplays the CX team to compose notifications—we ensure 100% computational reliability alongside creative copy.

View Project on GitHub

1

GitHub Actions Trigger

  • Heartbeat: Wakes up on a 4-hour cron interval.
  • VM Runner: Spins up a clean virtual machine, installs Node, and executes the script.
  • Autonomy: Runs completely headless without manual interaction.
Tech Stack GitHub Actions, Node.js, cron daemon
2

Live Weather Fetching

  • REST API: Queries Open-Meteo for real-time local and destination weather.
  • Forecasting: Maps weather conditions and extracts a 5-hour Dulles forecast.
  • Dynamic Multipliers: Determines rain, storm, and snow delays.
Tech Stack Open-Meteo REST API, WMO Code Mapping
3

Gemini API Orchestration

  • Two-Step Pipeline: Separates scenario generation and message copywriting into discrete calls.
  • JSON Schema: Enforces strict output types to guarantee flawless data parsing.
  • Context Injection: Feeds active time and weather into the prompt for realism.
Tech Stack Gemini 2.5 Flash, Structured JSON Mode

My Agent Pipeline Flow

LIVE FEEDS Weather API Hub Clock GEMINI CALL 1 (AGENT 1) PROGRAMMATIC JS (AGENT 2) GEMINI CALL 2 (AGENT 3) AGENT 1 Scenario Gen Creates travelers, stories & routes AGENT 2 Ops Analyzer Computes commute, buffers & status AGENT 3 CX Director Writes SMS & dispatch decisions
4

Agent 1 — Fictional Scenario Generator

  • Scenario Gen: Simulates 5 passenger groups, transit modes, and routes.
  • Weather Hooks: Contextualizes stories (e.g. traffic anxiety in storm, baggage assistance in clear weather).
  • Blindness: Possesses zero awareness of travel times, leave deadlines, or final dispatch statuses.
5

Agent 2 — Operational Analyzer

  • Calculations: JavaScript engine computes commute durations, check-in deadlines, and leave windows.
  • DMV Database: Performs static lookups to prevent LLM hallucinations.
  • Outbox Trigger: Set to exactly 30 minutes before suggested departure.
6

Agent 3 — CX Outreach Director

  • Committee: Formulates thoughts (OpsAgent, RecAgent, CX-Agent) based on Agent 2's calculations.
  • Copywriting: Proposes SMS drafts and schedules notifications.
  • iPhone Previews: Sets outbox to "Sent" (immediate warnings) or "Scheduled" (standby alerts).

My Prepopulated DMV Location Database

Referenced by Agent 2

To prevent LLM hallucinations, Agent 2 queries a static DMV location table. Drive times scale for rush hour (+40%) and weather (Rain +20%, Storm +45%, Snow +80%), while Rail Metro remains weather-immune. Routes crossing the American Legion Bridge get an extra +15m delay (+35m in bad weather).

Location Key Neighborhood Name County / Region Distance Base Drive Time Base Metro Time Metro Direct? Bridge Crossing?
ashburn Ashburn, VA Loudoun County 10 miles 15 mins 25 mins Yes No
leesburg Leesburg, VA Loudoun County 15 miles 22 mins 50 mins No No
sterling Sterling, VA Loudoun County 7 miles 12 mins 25 mins No No
reston Reston, VA Fairfax County 7 miles 12 mins 12 mins Yes No
herndon Herndon, VA Fairfax County 5 miles 10 mins 15 mins Yes No
vienna Vienna, VA Fairfax County 15 miles 20 mins 40 mins No No
tysons Tysons Corner, VA Fairfax County 14 miles 18 mins 30 mins Yes No
chantilly Chantilly, VA Fairfax County 6 miles 10 mins 35 mins No No
rosslyn Rosslyn, VA Arlington County 25 miles 30 mins 50 mins Yes No
crystal_city Crystal City, VA Arlington County 28 miles 35 mins 65 mins No No
ballston Ballston, VA Arlington County 22 miles 26 mins 45 mins Yes No
dc_nw Downtown / NW D.C. District of Columbia 27 miles 38 mins 60 mins Yes No
dc_ne Capitol Hill / NE D.C. District of Columbia 31 miles 45 mins 70 mins No No
dc_sw Waterfront / SW D.C. District of Columbia 30 miles 40 mins 65 mins No No
dc_se Anacostia / SE D.C. District of Columbia 32 miles 48 mins 75 mins No No
bethesda Bethesda, MD Montgomery Co. (MD) 30 miles 35 mins 75 mins No Yes (Legion Bridge)
silver_spring Silver Spring, MD Montgomery Co. (MD) 33 miles 45 mins 85 mins No Yes (Legion Bridge)
rockville Rockville, MD Montgomery Co. (MD) 31 miles 38 mins 80 mins No Yes (Legion Bridge)
7

Data Commit & Vercel Deployment

  • Write to Disk: Saves the processed Gemini JSON data directly to data/latest-run.json.
  • Auto-Commit: Commits and pushes the new JSON file automatically back to GitHub.
  • Live Deploy: Triggers a Vercel rebuild, making the updated dashboard live in under 45 seconds.
Automation Git auto-commits, Vercel CI/CD hooks, static JSON hydration
8

Vanilla JS Frontend Rendering

  • Framework-Free: Built in pure vanilla JavaScript for sub-millisecond initial loading times.
  • Dynamic Hydration: Fetches the run logs, maps meteorological data, and builds parallel columns.
  • Synchronized Hover: Tracks traveler interactions and syncs card hovers across columns in real time.
Frontend Tech Vanilla JS, Lucide Web Icons, CSS Grid, Vite