Published September 1, 2026 · Reviewed by the NextGen engineering team
The Buy vs. Build Reality in Freight Engineering
Off-the-shelf platforms like Samsara, Motive, or Descartes work well for simple point-A to point-B hauling with standard fleets. They fail when your operational workflows deviate from standard SaaS data models.
Engineering leaders typically move from off-the-shelf tools to custom software when three bottlenecks hit:
- SaaS per-unit tax scaling out of control. Paying $30 to $50 per vehicle per month across a fleet of 800 trucks or delivery vans costs $288,000 to $480,000 annually just for software rent, without owning the IP or custom features.
- Brittle API integrations and rate limits. Commercial TMS platforms cap REST API requests. When querying real-time positions for 500 active loads every 10 seconds, rate limits trigger dropped updates and broken client-facing tracking pages.
- Non-standard operational constraints. Multi-stop routing with strict temperature-control constraints, dynamic cross-docking, or split-load assignments rarely fit standard SaaS logic without manual spreadsheet workarounds.
Building a custom platform lets you establish proprietary routing mechanics, cut recurring software overhead, and own your infrastructure.
Architectural Blueprint for High-Throughput Telematics
A production logistics platform must handle continuous location streams, spotty mobile connectivity, and rapid spatial indexing.
Ingestion Pipeline
Vehicle hardware (OBD-II dongles, ELD hardware, or mobile apps) sends updates every 1 to 10 seconds over MQTT or HTTP/2. At 2,000 active assets pinging every 3 seconds, the system ingests roughly 660 incoming payloads per second.
An AWS IoT Core or EMQX broker terminates MQTT connections, passing raw JSON or Protocol Buffer payloads directly into an Apache Kafka topic. This decouples hardware message spikes from database writes.
Storage Strategy
Do not store raw telemetry history in a standard PostgreSQL database. Write incoming telemetry stream batches to a time-series store like TimescaleDB or ClickHouse.
Keep your transactional operational database (loads, drivers, customer billing) in a clean PostgreSQL instance. Run geospatial queries by storing recent asset positions with Uber’s H3 Spatial Index or PostGIS geometry types for high-speed geofence matching.
Telematics Integration and Device Normalization
Integrating hardware from mixed fleets requires normalizing telemetry formats across vendors like Samsara, Geotab, CalAmp, or custom OBD-II dongles reading J1939 CAN bus data.
syntax = "proto3";
package telemetry;
message VehiclePing {
string vehicle_id = 1;
double latitude = 2;
double longitude = 3;
float speed_mph = 4;
int64 timestamp_utc = 5;
float fuel_level_pct = 6;
optional float reefer_temp_celsius = 7;
}
Normalization and Retry Layers
- Protocol Translation: Convert incoming provider-specific webhooks into standardized internal Protobuf objects.
- Network Partitioning: Mobile driver applications must run on an offline-first database (SQLite or PowerSync). Store pings locally in a persistent queue when drivers traverse cellular dead zones across rural corridors, flushing updates sequentially once network re-establishes.
- Geofence Processing: Avoid running dynamic polygon calculations on every ping. Instead, map coordinates to an H3 resolution-9 cell and evaluate proximity against static boundary indexes.
Modernizing Legacy TMS Monoliths
Most established logistics firms rely on legacy AS/400, on-premise SQL Server, or monolithic .NET WinForms systems. Replacing these platforms at once creates massive operational risk.
Instead, apply the Strangler Fig pattern using Change Data Capture (CDC).
- Deploy Debezium alongside your legacy database to capture row-level changes in
LOAD_HEADERorDRIVER_MASTERtables without modifying legacy code. - Stream changes to Kafka, making legacy database events visible to new web applications and microservices in real time.
- Extract operational modules one by one. Build the dispatch board or real-time tracking portal as modern services first, keeping billing and payroll on legacy systems until late phases.
For deep technical steps on replacing monolithic architecture, read our guide on legacy modernization strategies.
Building Route Optimization Engines: Math and Performance
Vehicle Routing Problems (VRP) with time windows, driver Hours-of-Service (HOS) restrictions, and load capacities are NP-hard computational challenges.
Solvers: Off-the-shelf vs. Custom
- Google OR-Tools: Best starting point for Python/Go backends. Handles up to 500 stops per optimization run efficiently using local search heuristics.
- Custom Rust/C++ Solvers: Required when recalculating real-time routes every few seconds across thousands of dynamic pick-ups and drops.
If your routing engine must process tens of thousands of constraint evaluations per second with low memory overhead, read our technical breakdown on when to rewrite core services in Rust.
SOW Budget Breakdown and Timelines ($120k–$500k)
Project scope drives development cost. Below is an engineering estimate based on typical US team execution costs ($150–$210/hr blended internal rate).
| Tier | Scope | Core Modules Included | Development Window | Budget Range |
|---|---|---|---|---|
| Tier 1: Core Logistics MVP | Asset Tracking & Dispatch | Driver Mobile App (iOS/Android), Basic Dispatcher Dashboard, Samsara/Geotab API Ingestion, Mapbox Routing | 12 - 16 Weeks | $120,000 - $180,000 |
| Tier 2: Mid-Market TMS Modernization | Automated Routing & Portal | Automated VRP Solver, Shipper Portal, Geofence ETA Notifications, CDC Legacy TMS Sync, Driver HOS Logging | 18 - 26 Weeks | $200,000 - $340,000 |
| Tier 3: Enterprise Freight Platform | Full Execution Engine | Dynamic Cross-Docking Engine, Real-Time Bid Marketplace, Multi-Fleet Hardware Normalization, Custom Rust Routing Core | 28 - 40 Weeks | $380,000 - $500,000+ |
Resource Allocation
A standard $280,000 engineering build runs for 20 weeks with this team structure:
- 1 Principal/Lead Engineer (System Design, Kafka/Database Pipelines, Math Solvers)
- 2 Senior Full-Stack Engineers (React/Node.js/Go Dispatch UI, API Integration)
- 1 Mobile Engineer (React Native or Flutter Driver App, Offline Queues)
- 1 DevOps/Site Reliability Engineer (AWS Infrastructure, Terraform, CI/CD, Sensor Monitoring)
Step-by-Step Implementation Sequence
Modernizing or building custom logistics software requires strict milestone gates:
- Establish Data Models and Hardware Protocol Parsers (Weeks 1–4): Build infrastructure terraform scripts, set up Kafka topics, and ingest real telemetry data from test hardware assets.
- Build Operational Core and DB Layer (Weeks 5–10): Stand up dispatch interfaces, fleet status views, load creation flows, and dual-write database sync tools.
- Deploy Solvers and Mobile Applications (Weeks 11–16): Deliver driver apps with offline sync. Connect the optimization engine to produce route proposals for fleet dispatchers.
- Shadow Production Runs (Weeks 17–20): Run the new software alongside legacy platforms. Compare driver routes, calculated vs. actual ETAs, and total database throughput under full load.
What This Means for Your Team
Building custom logistics software eliminates platform tax, frees your product from off-the-shelf API limits, and gives you direct control over your dispatch logic. Success depends on selecting an event-driven architecture that scales cleanly as fleet volume expands.
If you are planning to replace a legacy system or build a custom freight platform, we can audit your technical architecture and scope an exact timeline and budget.
Contact our engineering team to review your architecture specs or start a technical scoping engagement.
Frequently asked
- How much does custom logistics software development cost?
- Custom logistics software development costs between $120,000 for a basic MVP asset tracking system and over $500,000 for a full enterprise freight platform. Total spend depends heavily on fleet size, real-time telematics volume, and legacy system integrations. Most mid-market TMS modernizations land between $200,000 and $340,000.
- How long does it take to build custom logistics software?
- Development typically takes 4 to 9 months from architectural design to shadow production testing. Core MVP builds with basic dispatching and hardware ingestion take 12 to 16 weeks. Complex enterprise engines with custom route optimization solvers take 28 to 40 weeks.
- Why build custom logistics software instead of buying off-the-shelf SaaS?
- Custom software eliminates recurring per-vehicle SaaS licensing fees that scale aggressively as your fleet grows. It allows engineering teams to bypass commercial API rate limits that trigger dropped tracking updates. Additionally, custom builds accommodate non-standard operational workflows like complex multi-stop routing that standard SaaS platforms cannot handle.
- How do you integrate high-throughput hardware telematics into custom software?
- High-throughput telematics require an event-driven architecture using MQTT brokers like AWS IoT Core paired with Apache Kafka for stream processing. Raw time-series pings are saved to ClickHouse or TimescaleDB rather than traditional transactional databases. Spatial indexing tools like Uber H3 or PostGIS enable instant geofencing and dynamic ETA calculations.
- How do you modernize a legacy TMS without interrupting live fleet operations?
- Modernization should follow the Strangler Fig pattern using Change Data Capture (CDC) tooling like Debezium. This streams row-level changes from legacy SQL Server or AS/400 databases into Kafka without requiring direct edits to legacy codebases. New web interfaces and dispatch microservices can then be deployed incrementally alongside existing infrastructure.
More answers in Insights or see AI development services.

