Data Platform
Vessel Tracking: Automated Shipping Cut-Off Monitor for MSC, Evergreen, COSCO & OOCL, One Dashboard
Logistics software development case study: track ERD and Rail Cut-Off dates across MSC, Evergreen, COSCO, and OOCL in one dashboard, with instant alerts.
Django
PostgreSQL
Python
React
Redux
4
Ocean Carriers Monitored (MSC, Evergreen, COSCO, OOCL)
5 min
OOCL High-Frequency Polling Interval
2
Critical Dates Tracked Per Booking (ERD + Rail Cut-Off)
The Problem
Freight Forwarders Checking Four Carrier Portals a Day Need Automated Logistics Software Development
Logistics software development for ocean freight has to solve two critical dates per booking: the earliest receiving date and the rail cut-off date. These dates change frequently, and missing a change means missed cargo, rerouting costs, and client penalties. Freight forwarders managing dozens of active bookings across four major carriers were logging into four separate portals multiple times a day, copying dates into spreadsheets, and manually comparing to detect changes, with no automated alerting.
Our Solution
Logistics Software Development With a Four-Carrier Scraping Architecture, Change Detection, and Instant Notifications
Vessel Tracking runs as a Django and React platform with four dedicated carrier scrapers, each matched to that carrier's specific access method. One carrier requires authenticated headless browser access via Playwright, navigating a two-stage login form and extracting dates from a data table. Another runs through direct POST requests with session cookies, extracting dates from specific table positions. A third exposes a public REST API requiring no authentication at all. The fourth routes through an internal microservice proxy. The tracking engine marks each booking as in-progress during scraping to prevent duplicate updates, normalises varied carrier date formats, and preserves old values alongside current ones before overwriting, resetting the notification flag on any change.
Architecture
Django 5 + DRF API. JWT authentication. Celery + django-crontab for scheduled carrier scraping (4-hour standard refresh, 5-minute OOCL fast refresh). Playwright + fake-useragent for MSC authenticated headless scraping. BeautifulSoup + lxml for Evergreen HTML parsing. requests for COSCO REST API and OOCL microservice proxy. python-dateutil for carrier date normalisation. PostgreSQL with new_entry concurrency lock. Threading for non-blocking immediate first scrape. React + Reactstrap + Redux + ApexCharts dashboard. react-select + Flatpickr for filtering.
The Result
Logistics Software Development Replaces Four Carrier Portals With One Dashboard, Every Change Caught Automatically
Vessel Tracking eliminated the four-portal manual checking workflow entirely, replacing it with an automated system that notifies freight forwarders the moment any critical date changes across any of the four carriers. The old-date preservation model gave teams instant change context directly in the booking list. The moment a booking is added, an immediate background scrape fires so first data is available seconds after entry. One carrier's 5-minute fast-refresh cycle matched its higher change frequency without wasting resources on slower-moving carriers. Freight forwarders went from multiple daily portal logins per carrier to a single dashboard view. If your freight forwarding or logistics operation needs similar carrier data automation, from portal scraping to real-time change alerts, this is the kind of logistics software development work we take on, and we are happy to talk through your carrier list.
Want scalable architecture and measurable results like this?
Book an Architecture Audit
Build Something Like This
// free scoping call · senior engineers · no commitment
Project scope, timelines, and architecture options in one 45-minute session.
More Work