Oil Watch
Oil Watch turns satellite data (SAR) into ground truth on oil-shipping chokepoints.
Core trick
Detects ships in Sentinel-1 radar imagery, masks fixed islands and rigs, then has Claude verify each candidate detection.
Description
Oil Watch turns satellite data (SAR) into ground truth on oil-shipping chokepoints. Roughly a fifth of the world's oil moves through the Strait of Hormuz and when it's disrupted, prices move globally but traders, insurers and governments are stuck reading rumor, social media, and AIS transponder data that ships switch off exactly when it matters most. Oil Watch pulls free Sentinel-1 synthetic-aperture radar (which sees through clouds, darkness, and "dark" vessels), detects ships, has Claude verify each detection, and filters out fixed features like islands and rigs. The result is an imagery-grounded read of vessel traffic over the strait's closure, overlaid with Brent crude prices and a sourced news timeline that you can act on.
README excerpt
# Strait of Hormuz — Vessel-Traffic Detection from Sentinel-1 SAR **Live demo:** https://hormuz-vessels-demo.vercel.app A **multi-intelligence platform** for the Strait of Hormuz that fuses three open signals into one trader-facing view: **satellite** (detected vessel traffic), **market** (Brent/WTI crude), and **news/OSINT** (sourced closure headlines). Built for oil/commodity desks who want an independent, imagery-grounded read on whether ships are actually moving through the chokepoint — not rumor. ## One-command rerun ```bash pip install -e . # into a Python 3.12 venv at ./.venv echo 'ANTHROPIC_API_KEY=sk-ant-...' > .env # only needed for the analyst brief ./run_all.sh "56.0,26.2,56.9,26.9" 2026-01-09 2026-06-11 ``` That runs the whole pipeline on the given bbox + date range — detect → temporal-persistence filter → coverage normalization → news feed → Opus analyst brief → stage web artifacts — and prints how to preview (`cd web/public && python -m http.server 8765`) or deploy (`cd web/public && vercel deploy --prod`). Sentinel-1 needs **no credentials**; only the optional brief step uses an Anthropic key. ## What it does - **Detect** — pulls free **Sentinel-1 SAR** GRD from the Microsoft Planetary Computer (anonymous), runs a classical **CA-CFAR** ship detector on VH backscatter with land/island masking. No credentials. - **Filter fixed features** — a **temporal-persistence** test flags returns that recur at the same coordinate