Skip to content

/ work · CASE-001

Maritime logistics Malmö, Sweden 2025 11 weeks build · ongoing retainer

Real-time vessel dispatch console

Rebuilt a 14-year-old PHP monolith into a streaming dispatch interface used by 38 ports across the Baltic.

CASE-001 · 2025 /// case.falsterbo-fleet · system overview Visual representation of the Real-time vessel dispatch console engagement: an isometric or schematic rendering of the system delivered to the client

/ inputs

What we were handed

  • Legacy MySQL with 220m rows
  • AIS feed at 2 Hz
  • 6 operator stations, 24/7

/ work

What we built

  • New event-sourced backend on PostgreSQL 16
  • WebSocket layer for sub-second updates
  • Operator console rewritten in vanilla JS
  • Old PHP system retained for invoicing during transition

/ outcomes

What changed, measured

From the client's own dashboards. Reference call available on request.

Metric Result Notes
Dispatch latency 4.1 s → 0.9 s -78%
Manual entries / shift 120 → 11 -91%
Operator stations 6 → 14 +8 added without hire
Uptime since cutover 99.97% 12 months observed

/ stack

PHP 8.3 PostgreSQL 16 Vanilla JS WebSockets Mapbox