Three fleet platforms tracking 100+ GPS vehicles — CodeIgniter & Geotab case study
For more than two years I maintained and extended three connected fleet platforms for a fleet operations company: an internal operations system, a government-facing portal, and a newer multi-tenant version. The work covered GPS tracking, incident workflows, messaging and access control.
- Client
- Fleet operations company with government-facing services
- Timeline
- Apr 2023 — Aug 2025 (2 yrs 4 mos)
- Role
- Senior full-stack developer (contract)
- Headline result
- 100+ GPS-tracked vehicles
- Stack
- PHPCodeIgniterMySQLGeotab SDKLeaflet.jsRBAC
The problem
The company runs fleet operations for two very different audiences: its own staff, who dispatch and monitor vehicles, and government stakeholders, who need visibility into the service without access to everything.
The platforms already existed on CodeIgniter. The job was to keep three connected systems stable and secure while adding what operations needed: live tracking, structured incident handling, driver messaging and better reporting.
What I built
- Real-time GPS tracking with zone-based alerts across the fleet, using the Geotab SDK and Leaflet.js maps
- Incident reporting and inspection workflows with automated notifications
- SMS messaging for driver and customer communication
- Role-based access control for government and external stakeholders
- Automated Excel report exports for operations insight
- Security patches and 80+ critical bug fixes across the CodeIgniter backend
Build on Geotab rather than around it
The vehicles already reported through Geotab. Using its SDK for location data and Leaflet.js for the maps put live positions and zone alerts inside the platforms staff already used, with no second tool to check.
Workflows instead of follow-up emails
Incidents and inspections became structured workflows with automated notifications. The right people hear about an incident when it is reported, and nobody has to chase it by hand. That cut manual follow-up by about 40%.
Challenges and how they were solved
Three platforms, three audiences
The internal system, the government portal and the multi-tenant version share a lineage but serve different users. Changes had to be made without breaking the others, and access had to be precise: government stakeholders see what they need, and nothing else.
Improving a live system
This was a codebase in daily use, not a greenfield build. Over the engagement I resolved 80+ critical bugs and patched security vulnerabilities, alongside shipping new features.
Results
- 100+ vehicles tracked in real time
- 30+ internal staff and 50+ external government stakeholders served
- Manual incident follow-up cut by ~40%
- 1,000+ SMS messages handled monthly
- 80+ critical bugs resolved
Let's talk about yours.
Book a free 30-minute call. Within 48 hours you'll have a written plan with scope, timeline and a fixed price.