I built an end-to-end transport management platform that replaced the WhatsApp-and-phone-call coordination layer with a system every role in the company used as their primary work surface — dispatchers for load planning, drivers for trip execution, billing team for invoice generation, customers for shipment tracking, and the MD for fleet analytics.
**Order management and intake:** Clients submit delivery orders through a dedicated customer dispatch portal — a web interface where each client logs in, enters the pick-up and delivery address, load type, weight, and required delivery date. Orders can also be entered manually by the operations team from email or phone. Every order is assigned a unique shipment ID from creation. Multi-stop shipments — one truck, five delivery points — are modelled as a single order with multiple stop records. The operations manager sees all open, in-progress, and completed orders on a single screen with status, client, and assigned vehicle.
**Load planning and vehicle assignment:** The load planning board shows all unassigned orders and all available vehicles simultaneously. Each vehicle tile displays its current GPS position, load capacity, current cargo weight if partially loaded, and next scheduled stop. Dispatchers drag orders onto vehicle tiles to assign them — the system validates that the assignment does not exceed vehicle capacity or create route conflicts. A load consolidation engine suggests groupings automatically: orders going to similar zones on the same day, flagged as candidates for the same truck. Route optimisation suggests the most efficient stop sequence for multi-stop trips. The map view shows every assigned truck with its route drawn, every unassigned order as a pin, and every vehicle's current position — updating every 30 seconds.
**Driver mobile app:** Each driver logs into a mobile web app with their phone number and OTP. Trip assignments appear as a notification and a trip card — pick-up address, each delivery stop in sequence, contact person name and phone at each stop, and any special instructions for the load (fragile, temperature-sensitive, requires dock appointment). The driver accepts the trip, and navigation opens to the first stop via Google Maps integration — the app passes the address directly. At each delivery stop, the driver marks 'Arrived' — which timestamps the arrival and starts the detention clock automatically. After unloading, the driver captures POD: a photo of the delivered goods at the destination, the recipient's name (typed), and a digital signature drawn on the phone screen. The system geo-stamps and timestamps the POD capture. The driver marks the stop as complete and navigates to the next stop. At trip end, the driver marks the trip complete.
**Real-time GPS tracking and customer portal:** Every truck's position is broadcast via the driver app's background location every 60 seconds and via a dedicated GPS device on the vehicle every 30 seconds. Clients access a customer dispatch portal where they see all their active shipments on a map — live truck position, last-updated timestamp, next stop, and estimated arrival time calculated from current position and Google Maps routing. A shareable tracking link is generated for each shipment and sent to the client's logistics coordinator via email and WhatsApp at the moment of dispatch — they can track without logging in. The 40+ daily 'where is my shipment' calls were replaced by a link in the dispatch notification.
**Digital proof of delivery:** The moment the driver captures POD at a delivery stop, the record is created in the system: delivery timestamp, GPS coordinates, recipient name, delivery photo, and e-signature image. The billing team can see the completed POD in their queue within seconds of capture — from any delivery location in North India, without waiting for the driver to return. For the pharma client, whose compliance requirement includes temperature logging, the driver inputs the temperature at delivery from a handheld logger, and the system records it as a field in the POD record. The pharma POD includes the temperature reading alongside the standard fields, satisfying the client's audit requirement.
**Freight billing engine:** The billing engine is configured with each client's rate card — per-km rates by vehicle type, per-tonne rates for part-loads, flat rates for specific lanes, and detention charge rates after the free waiting window. Rate cards are versioned: when a rate revision is agreed with a client, the new rate is entered with an effective date and the previous rate is archived. Every bill generated references the rate card version that was in effect on the trip date — disputes are resolved by showing the system record, not from memory. When a driver marks a stop as complete, the billing engine reads the trip distance (from GPS track), the load weight (entered at dispatch), the vehicle type, the client rate card, and the detention minutes (arrival timestamp minus departure timestamp minus free window). A draft freight invoice is generated automatically — the billing team reviews and approves, not creates. The invoice is GST-compliant with the company's GSTIN, HSN code for freight services, and CGST + IGST split based on origin and destination states. Approved invoices are emailed to the client and available in their dispatch portal.
**Detention charge capture:** The driver marks 'Arrived' at each stop — timestamp recorded. The driver marks 'Unloading complete' when the client's team signs off — timestamp recorded. The system calculates the gap. If the gap exceeds the contractual free waiting window (typically 2 hours), the excess minutes are automatically flagged as billable detention time in the invoice draft at the configured rate per hour. The driver does not need to remember, estimate, or negotiate. The client cannot dispute the timing because the arrival and departure timestamps are recorded from the driver app with GPS coordinates confirming the vehicle was at the address. Detention billing went from 30% capture to 95%+ within the first month.
**Fleet analytics dashboard:** The MD opens a dashboard showing every vehicle's status in real time: on a trip, at a stop, idle at the depot, or in maintenance. Yesterday's summary shows each vehicle's total kilometres driven, total freight weight hauled, number of trips completed, total revenue generated, and estimated fuel consumed (calculated from the GPS distance track at a configured average consumption rate per vehicle type). Revenue per kilometre is the primary efficiency metric — vehicles consistently below the fleet average are flagged for investigation. Idle time is tracked: a vehicle that has been at the depot for more than 6 hours on a working day without a trip assigned triggers an alert to the operations manager. The MD can now answer the question 'which vehicles are profitable and which are costing us money' from a dashboard, not from a fuel register.
**Driver performance and compliance:** The driver analytics module tracks on-time arrival rate per driver (arrival at first stop vs committed time), POD capture compliance (did the driver complete POD at every stop or skip any), average speed on GPS track (flagged if consistently above 80 km/h on highways), and trip acceptance rate (assignments accepted vs declined). Drivers with low on-time rates or POD gaps are surfaced for the fleet manager's review. For the pharma client's compliance requirement, every temperature-logged delivery generates a compliance certificate PDF — the system compiles the temperature readings, delivery timestamps, and route data into a document the pharma client's quality team can retain.