Vessel movement tracker

Role
Design, build, ops
Stack
  • Django
  • Python
  • AIS API (Datalastic)
  • Haversine
Outcome
Auto departure/arrival detection via AIS, reducing carrier inquiries

Overview

A shipment-tracking app that follows ocean freight from booking → departure → arrival, integrating AIS (Automatic Identification System) vessel positions to auto-detect departures and arrivals.

Problem

Vessel status relied on emails from carriers, so actuals lagged and delays were caught late.

Approach

Vessel position and speed are pulled from an AIS API, and departures/arrivals are auto-detected and recorded using distance/speed thresholds (haversine distance). Arrival delay is predicted in advance from the in-transit declared ETA and shown with color-coded alert levels. A guard prevents mis-recording a same-name, different-voyage call.

Key features

  • Shipment lifecycle (order → booking → departure → arrival)
  • Auto departure/arrival detection and recording via AIS API
  • In-transit delay prediction with color-coded alerts
  • Duplicate-booking detection by shipper × vessel × voyage no.
  • Guard logic against wrong-voyage mis-entry
  • Soft delete with creator audit