Freight Transportation Mobile App Development
A freight transportation app is not "Uber for trucks." The business process is different: cargo is accompanied by documents, routes are multi-point with intermediate stops, drivers confirm loading/unloading with photos, and dispatchers must see the entire fleet on a map with load information for each vehicle.
Multi-Point Routes and Shipping Documents
A truck route is not "A to B," but a set of waypoints with addresses, time windows, and stop types (loading / unloading / customs). Directions API (Google or Mapbox) supports waypoints, but heavy transport requires restrictions: height, weight, road type. Google Maps Directions API has avoid parameters (highways, tolls, ferries), but doesn't provide truck-specific constraints. For this — HERE Routing API with a truck profile or TomTom Routing API with dimension specifications.
Shipping document — a digital document in the app. The driver sees a list of points, with address, contact, time window, and operation type. On arrival — confirmation via GPS (automatic if device is within 200 meters of the point) or manual.
Photo Confirmation of Loading/Unloading
The driver photographs the cargo when receiving and delivering. Requirements: photos with geotag and timestamp, no way to fake (gallery blocked, only camera directly from the app).
On iOS — UIImagePickerController with sourceType: .camera. Coordinates from CLLocationManager directly at shooting time, written to EXIF via CIFilter or CGImageDestination. On Android — CameraX with ImageCapture.OutputFileOptions, coordinates from FusedLocationProviderClient added to EXIF via ExifInterface.
Photos uploaded to server with retry logic — edge cases involve EDGE or no network on the road. Multipart/form-data upload with pause/resume: Android — WorkManager with Constraints by network, iOS — URLSession.uploadTask with background session (URLSessionConfiguration.background).
Electronic Signature of Recipient
Signature field for finger — PKCanvasView (iOS) or custom View with Path drawing on Canvas (Android). Signature saved as PNG + timestamp + coordinates, attached to the bill. Important: canvas cleanup for next delivery and warning if attempted to save empty signature.
Tracking and Dispatcher Communication
Background tracking — similar to taxi driver app: ForegroundService on Android, location background mode on iOS. But for trucks, update interval can increase: every 30-60 seconds is sufficient for fleet monitoring, significantly saving battery.
Chat with dispatcher — simple real-time chat via WebSocket. For freight, voice messages are critical: driver can't type while driving. AVAudioRecorder (iOS) / MediaRecorder (Android), upload audio to server, auto-playback for dispatcher.
Integration with Tachographs and Telematics
Advanced level: integration with on-board OBD-II adapter via Bluetooth (ELM327 or similar). CoreBluetooth / Android BluetoothGatt to read data: speed, mileage, fuel consumption. This data supplements GPS tracking and gives dispatcher a complete picture of vehicle status.
Not all clients need this at launch — we establish architectural capability without implementation.
Stack and Phases
Flutter for cross-platform implementation — driver can work with Android budget phone or iPad. Native modules for camera, BLE, and background geolocation. Maps — Google Maps SDK or HERE Maps for truck routing.
Phases: business process analysis → order and route structure design → driver client development → dispatcher panel development → backend integration → real road testing → release.
Timeline: 12 to 20 weeks. Cost calculated individually after detailed requirements analysis.







