Driver Management &
Compliance Platform
with Real-Time Fleet Compliance
This is the production driver management platform our team built for a major private hire fleet operator — a single system of record that handles the entire driver lifecycle from automated onboarding and document compliance through to real-time trip telemetry and payment reconciliation. The operator’s dispatchers were juggling spreadsheets, manual MVR checks and disconnected tools, with credential gaps slipping through the cracks. We replaced all of it with an event-driven platform on Azure that stays in bidirectional sync with the operator’s cloud-based taxi dispatch platform, automates compliance checks, and gives drivers a self-service portal to manage their own documentation.
- ASP.NET 10 Web API on Azure App Services — event-driven webhook architecture for real-time data consistency
- Bidirectional dispatch-platform sync — driver profiles, trip logs and shift data flow both ways without manual intervention
- Automated MVR processing — SuperVision API integration for Motor Vehicle Record checks at onboarding and on a recurring schedule
- Custom RBAC & driver portal — bespoke authentication with granular role-based access for dispatchers and drivers
The Problem
Fleet operators in the private hire and taxi sector manage hundreds or thousands of drivers who each carry a stack of time-sensitive credentials — licenses, insurance policies, permits, medical certificates. When any one of those documents lapses, the driver is non-compliant and the operator faces regulatory exposure. The traditional approach is spreadsheets, calendar reminders and manual follow-ups — a system that works until the fleet scales past the point where a single admin can keep every date in their head.
Our client — a major private hire fleet operator running on a cloud-based taxi dispatch platform — had exactly this problem. Driver records lived partly in the dispatch system, partly in shared drives, and partly in email threads. MVR checks were requested manually through a third-party portal with no connection to the onboarding flow. Trip data sat inside the dispatch platform but was not aggregated in a way that supported workload analysis or payment reconciliation. The brief was clear: build a single platform that owns the driver lifecycle end-to-end, stays in real-time sync with the dispatch platform, automates compliance monitoring, and gives both dispatchers and drivers the visibility they were missing.
Solution Architecture
The platform separates concerns into three layers: a React admin portal (dispatcher dashboard, compliance views, driver management), an ASP.NET 10 event engine (webhook processing, API orchestration, business rules), and an Azure data & integration tier (SQL Database, Blob Storage, dispatch platform API, SuperVision, TextRequest).
Solution Components
What We Learned Building This
Webhooks beat polling — but only if you treat them as infrastructure
The first architectural decision was how to keep the platform in sync with the dispatch system. Polling the dispatch API on a timer would have been simpler to implement, but it introduces latency, wastes API quota on no-change checks, and creates a window where local data is stale. We went with dedicated webhook endpoints that the dispatch platform calls the moment a driver profile, trip status or shift event changes. The trade-off is that webhook infrastructure needs to be robust: idempotent handlers, dead-letter queues for failed deliveries, and replay mechanisms for the inevitable moment when a downstream service is temporarily unavailable. Treating webhooks as first-class infrastructure rather than a convenience feature is what made the bidirectional sync reliable enough for dispatchers to trust it as their single source of truth.
Compliance monitoring is a data problem, not a reminder problem
The operator’s previous system for tracking credential expirations was calendar reminders and shared spreadsheets. That approach fails at scale because it depends on a human remembering to check. We reframed driver document compliance monitoring as a data problem: every credential has an expiration date, and the platform should surface every date that falls within the alert window automatically. The compliance dashboard is a materialized view that recalculates whenever a document is uploaded, an MVR result arrives, or a date threshold is crossed. Dispatchers no longer search for problems — the dashboard pushes problems to them, sorted by urgency. The difference between “we think we’re compliant” and “we know we’re compliant” is whether the system can answer that question without anyone asking.
MVR automation removed the slowest step in onboarding
Before the platform existed, requesting a Motor Vehicle Record through SuperVision meant logging into a separate portal, entering driver details, waiting for the report, and manually attaching the PDF to the driver’s file. That was the single biggest bottleneck in the onboarding flow. We integrated the SuperVision API so the platform programmatically initiates the MVR request the moment a new driver record is created, polls for completion, and stores the result directly in Azure Blob Storage linked to the driver’s profile. Recurring checks follow the same path on a configurable schedule. The dispatcher never touches the SuperVision portal — the report simply appears in the compliance dashboard when it’s ready.
Custom auth was the right call for this use case
Off-the-shelf identity providers like Azure AD B2C or Auth0 are usually the pragmatic choice, and we default to them on most projects. For this platform, the operator needed granular, role-specific views that go beyond standard RBAC: dispatchers with regional scoping, supervisors who can see compliance data but not financial data, and drivers who can only access their own records and trip history. The permission matrix was complex enough that mapping it onto a third-party provider’s role model would have meant fighting the framework. We built a bespoke auth layer with custom claims, and the result is a system where adding a new permission takes a migration and a few lines of policy code rather than a reconfiguration of an external identity provider.
SMS integration earns its keep on operational alerts
Email is the default channel for most notification systems, and it is also the channel most likely to be ignored when a driver is on the road. We integrated TextRequest for the alerts that need to land immediately: credential expiration warnings, shift assignments, and compliance action items. The SMS channel runs through the same event engine as every other notification, which means dispatchers can see delivery status in the admin portal and the platform can escalate to a phone call or a manual follow-up if the SMS goes unacknowledged. The lesson: pick the channel that matches the urgency, not the channel that’s cheapest.
Why this reads differently from most fleet-tech write-ups
Most content on driver management platforms stays at the feature-list level — “compliance tracking, onboarding, reporting” — without explaining how the pieces actually connect or what happens when they don’t. We shared the webhook architecture, the MVR automation pipeline, the custom RBAC reasoning, and the compliance-as-data-problem framing because these are the decisions that determine whether a platform works at scale or collapses into manual workarounds. This system has been running in production for a major private hire fleet running on a cloud-based taxi dispatch platform. At DMexec, we don’t just consult on fleet platforms — we provide the dedicated .NET, React and Azure engineers who design, build and maintain them.
Related use cases: AI Medical Imaging Diagnostic Platform with CNN & Explainable AI • Offline Field Data Capture with D365 F&O & Power Platform
Who Needs This
A driver management and compliance platform fits any operator who manages a fleet of independent or employed drivers and needs fleet driver compliance software for driver credential tracking, onboarding automation and real-time operational visibility.
FAQ
A centralized system that handles the full driver lifecycle — onboarding, credential tracking, compliance monitoring, trip telemetry and performance analytics — so fleet operators can manage hundreds or thousands of drivers from a single dashboard instead of juggling spreadsheets and disconnected tools.
Bidirectionally, via event-driven webhooks. The dispatch platform pushes driver profile, trip and shift events to dedicated API endpoints in real time, and internal changes to driver records are pushed back to the dispatch platform immediately. There are no batch jobs or polling intervals — both systems converge the moment a change occurs, keeping drift near zero.
When a new driver record is created, the platform automatically sends a Motor Vehicle Record request to the SuperVision API. The system polls for completion, stores the result in Azure Blob Storage linked to the driver’s profile, and surfaces the outcome in the compliance dashboard. Recurring checks follow the same automated path on a configurable schedule.
The dashboard is a materialized view that recalculates whenever a document is uploaded, an MVR result arrives, or a date threshold is crossed. It highlights expiring credentials in real time and sorts them by urgency, so dispatchers see problems the moment they appear rather than discovering them in a manual audit.
The permission matrix was complex enough that mapping it onto a third-party identity provider’s role model would have required constant workarounds. Dispatchers need regional scoping, supervisors see compliance data but not financials, and drivers access only their own records. A bespoke auth layer with custom claims makes adding a new permission a straightforward migration rather than a reconfiguration of an external service.
ASP.NET 10 Web API on Azure App Services for the backend, React with TypeScript for the frontend, Azure SQL Database for relational data, and Azure Blob Storage for documents, MVR reports and sensitive driver files. The system uses an event-driven architecture where incoming webhooks are processed directly by the API.
Yes. The sync layer is designed around a webhook-and-API abstraction, not hard-wired to any single vendor. Connecting a different dispatch platform — Autocab, Cordic, or a proprietary system — means implementing a new adapter behind the same interface. The compliance engine, RBAC layer and driver portal remain unchanged.
All sensitive documents — licenses, insurance certificates, MVR reports — are stored in Azure Blob Storage with encryption at rest. Access is controlled through the custom RBAC layer, so only authorized roles can view or download specific document types. The platform logs every access for audit purposes.
Drivers log in to view their trip history, shift data, uploaded documentation, and the current status of their credentials. They can upload new documents directly through the portal, which triggers the compliance engine to re-evaluate their status immediately. This reduces the back-and-forth between drivers and dispatchers.
Need a Team That
Builds This?
This platform was delivered by our .NET, React & Azure team. If you’re evaluating a similar driver management solution, we’re happy to walk through the architecture.
Book a Technical Call