Terminals that work where the network does not.
Fleet operations · iOS, Android and in-cab kiosk
A tablet bolted into a truck cab is not a phone. It has no user who can troubleshoot it, no reliable network, and no tolerance for a screen the driver has to think about. We spent five years making that constraint set work.
- Sector
- Telematics and road transport
- Our role
- Design and engineering, alongside the client's team
- Engagement
- Continuous delivery since 2021
- 01
The device is the product
The terminal takes over the tablet completely — it becomes the device's launcher, so there is no home screen to escape to and no app store to wander into. That sounds simple until you meet the manufacturers whose Android builds quietly drop the setting. The app re-checks its own launcher role every time it returns to the foreground and asks for it back, because on real hardware in real trucks it does get dropped.
- 02
Losing signal is a normal state, not an error
Messages, forms and job confirmations queue locally when the connection drops and replay when it returns, with exponential backoff and jitter so a fleet coming out of a tunnel together does not stampede the server. Stuck work is detected and cleaned up rather than retried forever. For the messages that genuinely cannot wait — driver messages and the emergency alert — the app falls back to SMS.
- 03
Remote hands, thirteen native modules deep
Fleet operators cannot send someone to a truck to fix a tablet. So the terminal exposes ignition state, battery, signal strength, screen brightness, power and reboot, and can install its own updates — each one a hand-written native module, because none of it exists in a cross-platform library. Truck navigation is driven through the navigation vendor's own interface rather than a URL handover, because a route with ten drops cannot be expressed as a link.
- 04
Then we rebuilt it
After four years the original app had earned a rewrite: same server protocol, same feature set, modern foundations. We shipped it in parallel with the app it replaces, which is the only responsible way to rewrite something a fleet depends on to work tomorrow morning.
By the numbers
- 3
- Applications, iOS and Android
- 13
- Custom native modules
- 69
- Protocol commands
- 6
- Languages
Tell us what is breaking.
Whether you want one of our platforms or a team to build something new, the first conversation is the same: what are you running now, and where does it fall over?