Philly 250 Maritime Defense Hackathon • 48 Hours
Hormuz Watch

Tactical Maritime Domain Awareness Through Edge-First Multi-Sensor Data Fusion

An edge-first, cloud-independent maritime threat detection system for the Strait of Hormuz. Built on a peer-to-peer encrypted mesh network using Raspberry Pi 5s, ESP32 nodes, and a Jetson Orin Nano — all for under $450.

Scroll to explore

Project Overview

The Problem

Existing maritime surveillance systems rely on cloud infrastructure, suffer 200-1000ms latency, and fail completely in denied or degraded environments. The Strait of Hormuz sees 21 million barrels of oil pass through daily, with 95% of global trade moving by sea.

Adversaries exploit these gaps through AIS spoofing, dark transits, coordinated fast-boat attacks, and mine-laying operations — all invisible to traditional cloud-dependent systems.

Our Solution

Hormuz Watch is an edge-first, fully offline maritime domain awareness system. Sensor to commander with sub-15ms latency on $450 of hardware with zero cloud dependency.

We built a peer-to-peer encrypted mesh network using Raspberry Pi 5s for edge ML detection, ESP32 nodes for encrypted relay, and a Jetson Orin Nano running a local LLM for contextual threat assessment — all communicating over AES-256-GCM encrypted channels.

System Architecture

Phase 1

DETECT

Edge ML anomaly scoring on Raspberry Pi 5 with Isolation Forest + Autoencoder ensemble. Processes 18 features per AIS report in under 15ms.

Phase 2

RELAY

AES-256-GCM encrypted ESP32 mesh network with constant-rate cover traffic. Real and dummy packets are cryptographically indistinguishable.

Phase 3

ANALYZE

Local LLM (Ollama + Phi-3 Mini) on Jetson Orin Nano with RAG vault of 151 intelligence documents for contextual threat assessment.

Phase 4

ACT

Zero-latency dashboard with Leaflet-based mapping, WebSocket broadcast, and React Native mobile app for tactical awareness.

Hardware Stack

Total deployment cost: ~$450 • Footprint: <20MB

Raspberry Pi 5 (16GB)

Edge Detection Nodes
$75 each

Runs AIS ingestion pipeline and ML scoring engine. Two nodes deployed: Pi-Larak and Pi-Fujairah. Processes 18.8M-record trained model with USB serial interface at 115200 baud.

ESP32 Mesh Nodes

Encrypted Relay Network
~$10 each

Peer-to-peer ESP-NOW 2.4GHz radio with ~150m WiFi range (2-15km with LoRa). Fixed 238-byte encrypted packet structure with constant cover traffic every 5 seconds.

Jetson Orin Nano

Command Node
~$250

JetPack 6.x environment running Ollama + Phi-3 Mini (4GB LLM), FastAPI + uvicorn backend, serial listener for mesh decryption, and WebSocket broadcast to all connected dashboards.

Machine Learning Engine

Ensemble Architecture

Trained on 18.8 million real AIS reports from NOAA MarineCadastre (USCG records, June 2024). The ensemble combines two models:

Isolation ForestWeight: 0.6

100 trees, 200K subsample, ~4.7MB — detects global anomalies in vessel behavior patterns

PyTorch AutoencoderWeight: 0.4

18→12→6→12→18 architecture, ONNX export, ~4KB — captures subtle reconstruction errors in vessel trajectories

Total model footprint: ~5MB • 82 distinct vessel-type baselines

18 Features Per AIS Report

Vessel-Type Z-Scores5 features

Speed over ground, speed delta, heading change rate, course over ground, time gap

Static Features4 features

Vessel name, vessel class, dimensions, speed-to-size ratio

Location Features3 features

Distance to shipping lane, port, and geographic chokepoints

Windowed Features4 features

Heading std dev, speed trend, course std dev, anomaly count (rolling)

Sliding window: last 20 reports per MMSI (Maritime Mobile Service Identity)

Encrypted Mesh Network

238-Byte Packet Structure

Magic Byte (0xAA)1B
Version (v1)1B
Packet Type1B
TTL (Time-to-Live)1B
Timestamp4B
Payload Length2B
Encrypted Payload (AES)200B
GCM Auth Tag16B
Nonce (random)12B

Security & Routing

AES-256-GCM Encryption

Every packet encrypted with fixed 238-byte size. Real and dummy packets are cryptographically indistinguishable. Tamper detection via GCM authentication tag failure.

Cover Traffic

Dummy packets transmitted every 5 seconds to defeat traffic analysis attacks. An adversary monitoring the mesh cannot distinguish real alerts from noise.

Flood Relay with Deduplication

TTL=3 hop limit with FNV-1a hash deduplication using a 16-entry ring buffer per node. Prevents packet loops while ensuring delivery.

Intelligence & LLM

RAG Intelligence Vault

151 structured intelligence documents powering contextual threat assessment with 94% cross-reference rate via wiki-link methodology.

Incidents11

Stena Impero, Gulf of Oman, Fujairah

Vessels30

Known good/bad profiles, MMSI, sanctions

Entities26

IRGC, IRISL, 22 shell companies

Tactics/TTPs16

Fast-boat swarms, AIS dark transit, mines

Geography18

Hormuz, Bandar Abbas, TSS lanes

Red Flags15

Behavioral & structural anomaly indicators

Sanctions10

OFAC advisory context, SDN mappings

References28

Intel reports, OSINT, published analysis

Local LLM Threat Assessment

Ollama + Phi-3 Mini (4GB) running entirely on the Jetson Orin Nano — zero cloud dependency, sub-2-second response time. The LLM generates structured threat cards with contextual intelligence.

Query Workflow

1
Alert Trigger

ML anomaly score crosses severity threshold

2
Vault Search

Top-5 chunks retrieved by term frequency (~2,000 char context)

3
Cross-Reference

Zone matching, OFAC SDN list validation, multi-sensor fusion

4
LLM Assessment

Phi-3 Mini processes alert data + vault context via structured prompt

5
Threat Card Output

Title, summary, indicators, confidence score, recommended action

Fallback: rule-based threat card generation if LLM is unavailable — graceful degradation at every layer.

Validation Results

5/5

Incidents Detected

100%

Recall Rate

137/s

Report Throughput

8/8

Validation Tests

5 Real Hormuz Incidents

Stena Impero Seizure(2019)

Three fast boats at 35 knots, tanker AIS blackout, forced course reversal

Gulf of Oman Tanker Attacks(2019)

Limpet mine damage, rapid deceleration signature detected

Fujairah Port Sabotage(2019)

Four anchored tankers, simultaneous AIS gaps, coordinated pattern

Mercer Street Drone Attack(2021)

Three drone strikes, 20-minute AIS gap, vessel slowed to 3 knots

Mine-Laying Patrol(Historical)

Stop-start pattern every 500m at 3 knots in shipping lane

How We Validated

We replayed 672 real AIS reports from 5 historical Strait of Hormuz incidents through our ML pipeline. Each incident exhibited distinct anomalous signatures — fast-boat swarms, AIS blackouts, sudden deceleration, and stop-start mine-laying patterns.

The ensemble model correctly flagged all 5 incidents with appropriate severity classifications, achieving 100% recall with zero manual tuning. The system sustained 137 reports/second throughput during replay.

Real-World US Incident Validation

MV DALI (Baltimore Bridge)
-0.586Top 6.1%
APL Qingdao (Chesapeake)
-0.408Top 22.4%
MSC Michigan VII
-0.406Top 12.6%
M/V Michipicoten (Lake Superior)
-0.554Top 35.7%

Project Gallery

Architecture Overview
Architecture Overview
Live Demo
Live Demo
Hardware Setup
Hardware Setup
Sensor Array
Sensor Array
Mesh Network
Mesh Network
Deployment
Deployment