Maritime Security

Dryad: Maritime Security & Risk Intelligence Portal

Dryad Global  ·  2022

Geohash-based risk scoring enabling real-time threat zone visualisation on interactive maps

Dryad Global project screenshot

Background

Dryad Global provides maritime security intelligence to ship operators, fleet managers, and Company Security Officers. They needed a purpose-built portal to surface real-time incident data, risk zones, and vessel-level intelligence in a single interface. Before this, a CSO responsible for a fleet's safety had to piece together incident reports, piracy indices, and vessel positions from separate sources to make a routing decision, which is exactly the kind of decision that needs to be made quickly and with confidence.

What We Built

A Node.js API and Angular SPA backed by MongoDB. The map interface (Leaflet) renders geohash-based risk zones with colour-coded threat levels, so a CSO can see at a glance which waters are getting riskier. CSOs can drill into incidents, view vessel associations, and export risk assessments. Key modules:

Risk map
geohash grid with real-time threat zone colouring based on incident density and severity
Incidents
structured incident records (type, severity, location, vessels involved, timeline)
WPI data
Western Piracy Index feed integrated and surfaced alongside incident views
Search
cross-entity search across incidents, vessels, and threat zones
Files
document management for intelligence reports and advisories
Admin
user management, TRA (threat and risk assessment) authoring

Architecture

Dual-server Node.js setup separating the API from the ETL data-maintenance pipeline, so a slow or failing feed import never affects the live portal. Auth0 handles identity. MongoDB stores all entity data. Docker Compose covers local development and production deployment, with a separate trainer data pipeline for onboarding demo/test datasets.

Results

Before

Threat intelligence pieced together from separate feeds, reports, and vessel trackers

After

One live map with geohash-based risk zones and incident data in a single view

Before

A full risk-grid recalculation on every incoming incident

After

Incremental updates keep the live feed responsive at global scale

Outcomes & Lessons Learned

  • Geohash-based risk scoring enabling real-time threat zone visualisation on interactive maps
  • Incident tracking with structured severity, location, and vessel association data
  • WPI (Western Piracy Index) feed integration surfacing threat intelligence in context
  • CSO-focused admin portal with role-based access and full audit trail
  • ETL pipeline for ingesting and normalising external maritime threat feeds

The geohash-based risk scoring approach allowed the risk map to update incrementally as new incidents were ingested, without recalculating the entire grid. This made the live feed performant even at global scale, where a full recompute on every update would have made the map feel sluggish exactly when a CSO needed it most.

FAQs

Questions, answered.

The things people ask us about this project. If yours isn't here, ask us directly, we reply like humans.

Ask us anything→

How does the risk map stay current as new incidents happen?

Risk zones use geohash-based scoring that updates incrementally as incidents are ingested, rather than recalculating the entire grid on every update, which keeps the live map responsive even at global scale.

Where does the piracy and threat intelligence data come from?

The Western Piracy Index (WPI) feed is ingested and surfaced alongside incident views, so a Company Security Officer sees threat intelligence in the same interface as incident records and vessel data.

Why separate the ETL pipeline from the live API server?

So a slow or failing external feed import never affects the live portal a CSO is actively using; the dual-server setup keeps data maintenance isolated from the user-facing system.

What can a Company Security Officer actually do in the portal?

Drill into incidents, view vessel associations, export risk assessments, search across incidents and threat zones, and author threat and risk assessments, all from one admin portal with role-based access.

How is user identity and access handled?

Auth0 handles identity for the portal, with role-based access controls governing what each user, from CSO to admin, can see and do.

Let's make things happen

Ready to craft tomorrow, today?

Where innovation meets execution, and ideas evolve into impactful solutions. Book a free consultation, no strings attached.