Dir Link
A real-time logistics operations dashboard for delivery and shipping companies. Dir Link provides delivery operators with live order tracking, driver management, route assignments, and delivery status monitoring — replacing manual dispatch coordination with a single, unified platform.
Client
Addis Technology Solution
My Role
Full Stack Developer
Timeline
Oct 2024 – Jan 2025
Status
Live · Production
Delivery companies were managing driver assignments, order dispatch, and status updates through phone calls and spreadsheets. There was no real-time visibility into where orders were, which driver was handling what, or how long deliveries were taking. The goal: give dispatch operators a live command centre for their entire fleet.
A full-stack web application with a React admin dashboard backed by a Node.js REST API. MongoDB stores orders, drivers, and dispatch events as flexible documents. Nginx serves the app in production with reverse-proxy routing.
React SPA with live order board, driver status table, route assignment UI, and delivery history reporting.
REST endpoints handling order lifecycle (created → assigned → in-transit → delivered), driver management, and reporting aggregations.
MongoDB for flexible order and driver documents; compound indexes for efficient status-based queries on high-volume order tables.
Docker-containerized service deployed behind Nginx with PM2 process management for zero-restart deployments.
- 1
Designed and built the order dispatch lifecycle API — from order creation through driver assignment to final delivery confirmation.
- 2
Built the real-time operations dashboard with live order status board and driver availability tracking.
- 3
Implemented compound MongoDB indexes on order status + timestamp fields, cutting dashboard query time for high-volume tables.
- 4
Built role-based access control allowing dispatchers, drivers, and admin users different views and capabilities.
- 5
Containerized and deployed the full stack to production within the client's tight timeline.
Real-Time Order Status Without WebSockets
Budget and timeline constraints ruled out a full WebSocket server. Solved using React Query's polling with smart refetch intervals — aggressive (5s) for active dispatch views, relaxed (30s) for historical reports — giving operators a near-live feel without the infrastructure overhead.
Driver Assignment Conflict Prevention
Two dispatchers assigning the same driver to different orders simultaneously would create operational chaos. Implemented optimistic locking on the driver document: the assignment transaction reads, validates, and updates availability atomically, rejecting concurrent conflicting writes.
Delivery History Performance
Reporting queries over months of delivery history were slow on unindexed collections. Added compound indexes on {status, createdAt} and {driverId, createdAt} reducing dashboard load time for historical views from 3s+ to under 300ms.
Full dispatch lifecycle — order creation to delivery confirmation — digitised and automated
Real-time order board giving dispatchers live fleet visibility
Historical reporting query time reduced from 3s+ to under 300ms via indexing
Shipped to production on schedule within a 3-month engagement
“Real-time UX does not always require WebSockets. Understanding what 'real-time' actually means to the end user — in this case, dispatchers checking status every few seconds, not millisecond-precision traders — lets you make dramatically simpler engineering choices that still fully satisfy the requirement.”