VayuAI
All writing

· 5 min

Global Supply Chain Pulse: one browser tab for trade

I was opening five tabs every morning to read the supply chain. So I built the version I actually wanted: one continuously refreshing view across nine regions and eight strategic chokepoints, on fifteen free public feeds.

For the last few months I have been opening five tabs every morning. Oil futures. A ship tracker. A flight radar. A geopolitics feed. Weather alerts.

Five tabs to answer one question: what changed in the world overnight that touches the chain.

So I built the version I actually wanted. supplychain.vayuai.ai

Global Supply Chain Pulse overview page with hero card, live counts, today's briefing, and risk panel

The headline card on the front page is calibrated for the morning glance. Live indicator on top. The question framed in the headline. One paragraph that tells you what the system is actually doing. A row of live counts pulled from the current snapshot: signals in the window, aircraft airborne right now, vessels tracked, the count of public feeds powering it, the regions monitored. If those numbers are zero you know the system has not finished its first refresh. If they are non-zero you know it is awake.

Ten specialized pages sit underneath. Each one trades some of that calm overview for a specific drilldown.

What the world is searching, right now

The second page out of the gate is Trends and News. Not supply-chain news first; world news. Google Trends per country, the most-read Wikipedia articles from yesterday, and the two-word phrases recurring most across recent headlines.

Trends and News page showing trending Google searches per country and most-read Wikipedia articles

This bit is intentional. Supply chains do not move in isolation. A national election, a sporting final, a celebrity death, a viral product launch all move dollar flows, fuel consumption, port volumes, advertising spend, and freight routings. Knowing what the world is paying attention to before you read what the world is shipping gives the rest of the dashboard context.

Live cargo airline operations

Browsing flights as a whole is interesting. Browsing them filtered to the cargo carriers is operationally useful.

Logistics page with cargo airline operations, KPIs and carrier leaderboard

The Logistics page filters the global aircraft snapshot down to known cargo operators by ICAO callsign. FedEx (FDX), UPS, Atlas Air and the ATSG family that flies Amazon Air (GTI, ABX, ATN), Polar Air, Cargolux, Kalitta, the DHL ecosystem (DHK, BCS, DAE, BOX), Lufthansa Cargo, China Cargo, and a handful more. Twenty-one operators today.

The leaderboard is colour-coded by brand. The map underneath plots each carrier’s positions live. A per-hub table scores cargo flights within 250 km of every major cargo airport. Memphis (FedEx Superhub), Louisville (UPS Worldport), Hong Kong, Anchorage, Liege (DHL Europe), Frankfurt, Dubai, Incheon, Singapore. The hubs the world’s parcels actually flow through.

The world map

The global view stitches it all together. Ports in amber, strategic chokepoints with orange rings, live event signals coloured by category, optional overlays for vessels and aircraft.

Flights page showing live air traffic, per-airport airborne density leaderboard, and top origin countries

This is the Flights page in particular, showing every airborne aircraft tracked from OpenSky plus the ADSB.lol fallback for cargo-hub coverage when OpenSky throttles. Around seven thousand aircraft at any given hour. The leaderboard underneath sorts the world’s busiest cargo airports right now by aircraft within 80 km.

Ships

The maritime view follows the same pattern. Vessel positions from AISStream, port congestion proxy (vessels within 50 km of each major port), chokepoint traffic for the eight key passages.

Ships page with live vessel traffic, port congestion proxy, and chokepoint traffic

Three thousand vessels visible at typical refresh. The port congestion bar shows you which terminals are absorbing pressure right now. The chokepoint traffic chart shows you which straits are seeing unusual density.

Commodities

Eighteen series across five categories now: energy, precious metals, industrial metals, grains, and softs. Coffee, sugar, cocoa, cotton on the soft side. Nickel, zinc, iron ore, uranium on the industrial side. WTI, Brent, natural gas, gold the daily ones.

Commodities page with rebased 90-day chart, latest snapshot table, and macro and freight series

The rebased chart shows the ninety day picture with everything indexed to 100 so you can see relative moves. A Performance leaderboard ranks the whole universe by return over the window you pick. Below the snapshot table, three diagnostic ratios that traders actually watch: Brent minus WTI (geographic crude premium), Gold over Silver (precious-metals stress gauge), Copper over Gold (Dr. Copper, the global growth signal).

Strategic chokepoints

Eight straits and canals account for the majority of seaborne trade. They get their own page with a health score per chokepoint, combining real-time vessel density in the radius with the severity of any nearby events.

Chokepoints page with health leaderboard and per-chokepoint detail cards for Taiwan Strait, Strait of Malacca, Strait of Hormuz, Suez Canal, and others

Taiwan Strait, Strait of Malacca, Strait of Hormuz, Suez Canal, Panama Canal, English Channel, Bab el-Mandeb, Bosphorus. Each card combines what is moving through with what is happening around it. Expand a card and you see the underlying signals.

The event feed

Everything the system has ingested in the lookback window, sortable, filterable, exportable. Volume by hour, severity distribution, category mix, source mix.

Global event feed page with filterable signals table and breakdowns by category, source, severity, and volume

Most of the time you do not need this view. It is here for the cases when you do: when you want to slice for a single severe event, when you want to know which feed produced what, when you want to share a specific signal with a colleague.

How it is built

A short answer.

Stack. Python, Streamlit, deck.gl for the maps, plotly for the charts, pydeck for the geo work, pandas for everything in between. Roughly 4,500 lines of Python across ten pages, ten pipelines, a half-dozen reusable UI components, and an analytics layer that scores regional risk and assembles a brief.

Data. Fifteen free public feeds:

  • OpenSky Network and ADSB.lol for aircraft
  • AISStream for vessels
  • GDELT 2.0 and GDACS for geopolitical events
  • USGS for earthquakes
  • NOAA NWS for weather alerts
  • Open-Meteo for port-level weather
  • NHC for tropical cyclones
  • NASA EONET for wildfires, volcanoes, floods, drought
  • FRED (St. Louis Fed) for commodity and macro series
  • Datahub.io as a no-key mirror for oil and gas
  • Google News RSS
  • Reddit RSS
  • Google Trends RSS
  • Wikipedia pageviews

No paid feeds. No proprietary data. No infrastructure you cannot reproduce in a weekend.

Deploy. Render free tier, which gives you a small container with no persistent disk and no cron. The trick is an in-process scheduler that lives inside the Streamlit web service. It runs every pipeline on a background thread the first time anyone visits a cold container, then keeps refreshing every fifteen minutes for as long as the container is awake. AISStream needs a WebSocket listener, so a second thread handles that on its own cadence.

Fallbacks. Most pipelines have a primary, a secondary, and a synthetic last resort that is clearly labelled if it ever fires. OpenSky falls back to ADSB.lol geo-bounded around the world’s cargo hubs. FRED falls back to Datahub for oil and gas. The API health strip at the bottom of every page tells you which sources are live, partial, or down.

What I learned building it

Three things, briefly.

Free public data is far better than it gets credit for. The full picture of global trade is already out there. The reason most teams pay for it is that nobody has bothered to wire the free version up properly.

Resilience matters more than richness. A page with one good chart that loads every time beats a page with five good charts that breaks half the time. Every pipeline has a tiered fallback. The dashboard is allowed to degrade, never to crash.

Branding the boring parts. A status footer with five small green dots tells users more about whether the data is trustworthy than any amount of marketing copy. Most of the polish went into the edges, not the centre.

Why I shipped this

I work at the intersection of mechanical engineering, industrial systems, and applied machine learning. That intersection is where most real-world AI value lives, and most of it is still untapped because the data plumbing is harder than the modelling.

Building this is partly a calling card for the kind of work I do through Vayu AI. Mostly it is a tool I actually wanted to use, that did not exist, that I could build in a few weeks of evenings and weekends.

If it is useful to you, take it. If you find a rough edge, tell me. If you work in logistics, freight, energy, commodities, or geopolitical risk and want a custom version of this for your specific domain, my email is at the bottom of vayuai.ai/contact.

The future belongs to those who design systems not just with intelligence, but with intention.

Open the dashboard →