Skip to content
Sami Bentaleb Independent software engineerContact

Hadrel n., maritime voyage risk

Voyage exposure for a ship’s security officer, before the ship sails.

Hadrel shows how long a planned route spends inside each risk zone, by route and by departure time, and names a source for every claim.

My part
Design and build
Built with
Rust, PostGIS, TypeScript
For
Ship security officers

The problem

what the officer has to answer

Before a ship sails, its security officer has to judge how exposed the voyage will be. The usual answer is an analyst-reviewed assessment for each voyage, often summed up as a single score.

Plate to comeThe planned route and the zones it crosses.

Plate I. The route view, once its screen ships.

Constraints

what it has to work within

Every maritime claim carries a source. Risk zones are revised, so the version in force on the departure date is the one that counts, and a saved voyage has to know when a newer one arrives.

Plate to comeThe zone versions named in the report.

Plate II. The report’s sources, once its screen ships.

What I built

the decisions, in order

  1. A route that stays off land

    Origin, destination, speed, draught and departure date go in. Hadrel builds a route that avoids land, tests the chokepoints on the way, such as Suez and Malacca, and sets it beside an alternative.

  2. Miles and hours by zone

    Exposure in each zone, split by darkness, speed and route, so the officer sees what makes up the risk.

    See Plate III.

  3. A better hour to sail

    The three departure times in the next 72 hours that spend the least darkness inside risk areas.

  4. Dated sources

    The PDF names the zone versions in force on the departure date, and a saved voyage warns when a newer version affects it.

    See Plate II.

Zone A, dated 1 OctoberDepartsArrivesin Zone A by dayin Zone A after darkZone A, dated 1 OctoberDepartsArrivesin Zone A by dayin Zone A after dark
Plate III. A diagram of how Hadrel counts exposure. The zone and its date are made up.
Ledgerdock n., the next entry