Maritime Tracker

Global Fishing Watch port-visit data combined with real-time AIS chokepoint monitoring.

🚢 What It Does

The Maritime Tracker monitors commercial port-call activity by country and port, comparing current vessel traffic against a 30-day same-hour baseline. It tracks three commercial vessel categories — Cargo, Carrier, and Bunker — and surfaces which countries and ports are above or below their normal activity level right now.

The drill system mirrors the Flight Tracker in structure: click a country for a national port-call overview with vessel-type sparklines and port ranking cards, then click any port to go one level deeper into that port's activity rhythm.

📡 Data Source

Global Fishing Watch (GFW) APIgateway.api.globalfishingwatch.org/v3/events — provides port call events for cargo, carrier, and bunker vessel types. The Maritime-Watcher background worker fetches port call data on a rolling basis and stores it in SQLite with vessel type, port location, and timestamp. A 30-day baseline is maintained per port, per vessel category, and per hour-of-day for contextually appropriate comparisons.

GFW coverage is limited to cargo, carrier, and bunker vessel types. Fishing vessels, military ships, and recreational craft are not included. Coverage density varies by region — major commercial shipping hubs have richer baselines than smaller ports.

🗺 Reading the Map

Green: above 30-day same-hour baseline
Blue: near baseline — normal activity
Amber / red: below baseline
Grey: insufficient data or no recent calls

Country colour reflects the deviation of current port call volume from the 30-day same-hour average across all tracked ports in that country.

🎛 Controls

ControlWhat it does
Same HourCompares current port call count against the 30-day same-hour average — most sensitive to real-time anomalies.
24H AvgCompares against the 24-hour rolling average — smoother baseline, less reactive to short bursts.

🌍 Country Drill

Click any country to open the country drill. The header shows country name, anomaly badge (Normal / Elevated / Critical), and the drill context label.

Left panel — Current Activity:

  • Toggle between Same Hour and 24H Avg baseline
  • Coverage context: how many ports are being compared (e.g. 5 / 6 ports compared — 83.3%)
  • Port Calls: total calls in the current window
  • Active Ports: number of ports with at least one call
  • Unique Vessels: distinct vessels seen across all ports
  • Dominant Type: the vessel category accounting for most activity
  • Three independent 30-day sparklines — Cargo, Carrier, and Bunker — showing average unique vessels per hourly snapshot

Right panel:

  • Most Active Ports Right Now: port cards ranked by current call volume, each showing port name, vessel type, deviation badge (green/red/%), call count (Σ), baseline average, and ship count
  • Largest Decrease from Baseline: ports furthest below their own normal — the anomaly you most want to investigate

A port showing WARMING UP instead of a deviation badge has insufficient baseline history to calculate a meaningful comparison. This is expected for newly tracked ports or ports with sparse GFW coverage.

🛫 Port Drill

Click any port card inside the country drill to open the port drill. The header shows port name, PORT badge, PORT DRILL label, and parent country.

Left panel — Port Status:

  • Current Calls and Unique Vessels in the window
  • Baseline Avg — the 30-day same-hour average for this port
  • vs Baseline — the percentage deviation from that average
  • Dominant Type — leading vessel category at this port
  • Three 30-day sparklines: Cargo, Carrier, Bunker — average unique vessels per hourly snapshot

Right panel — Activity Rhythm (7D): a 7-day hour-by-hour port call intensity heatmap. Darker cells are quieter hours; brighter cells are peak hours. KPIs above the grid: peak hour, busiest day, total calls over the period, and active hours.

Haikou Pt shows peak hour h19, busiest day 04-02, 46 total calls over 7 days across 13 active hours. Activity concentrated in late afternoon through evening is typical for cargo ports in this region. An unexpected bright cell at an off-peak hour is the signal worth investigating.

1

Open

Click any port card in the country drill.

2

Read port status

Current calls vs baseline avg — is this port busier or quieter than its own normal?

3

Read sparklines

Three vessel-type trends over 30 days — which category is driving the deviation?

4

Read activity rhythm

7-day hourly heatmap shows when this port operates and whether today fits the pattern.

5

Exit

Click ← Back to Map or press Escape.

Limits

  • GFW covers cargo, carrier, and bunker vessel types only — fishing, military, and recreational vessels are excluded
  • Coverage varies significantly by region; major commercial hubs have richer baselines than smaller ports
  • Ports with insufficient history show WARMING UP rather than a deviation score
  • The baseline requires sufficient historical port call data — newly active ports may show noisy or missing comparisons
  • GFW data is not real-time; there is a processing lag between vessel activity and API availability