Fleet Compliance & Billing Platform
An operations platform for a US emissions-compliance company that connects testing devices, fleets, and Stripe billing in one place, built over 9+ phases as the client's technical partner.
Overview
The client installs monitoring devices on commercial trucks and keeps fleets compliant with California's Clean Truck Check program. When we started, the work was a single API integration and dashboard. Over six months it grew into the system the business actually runs on: onboarding, device activation, compliance tracking, invoicing, subscriptions, renewals, and a daily work queue. I owned the architecture and the code, and I helped shape the roadmap phase by phase alongside the founder.
The business idea
Fleet operators don't struggle with the emissions test itself. They struggle to keep track of deadlines, test results, renewals, and paperwork across every truck. The client's goal was to make CTCS the one place where that's all handled automatically, with Stripe, the device portal, and email running in the background. Over time the vision widened from a monitoring tool into a compliance management platform for every service the company offers.
Goals
- Integrate the VTX device API so compliance results flow in without manual lookups
- Make CTCS the single source of truth for customers, vehicles, invoices and billing, with Stripe only processing payments
- Replace manual status changes with event-driven automation
- Give the founder a dashboard that shows what needs attention today, usable from the field on a tablet
- Bring existing customers into the system without billing them twice
Tech stack
Key features
- VTX device integration with compliance results and on-demand retest requests sent straight to the device
- Automated compliance checks every 4 hours that flag failures, send alerts and schedule retests
- Stripe invoicing and annual subscriptions, with renewal invoices generated automatically
- ACH payment tracking (Sent, Processing, Paid, Failed) driven by Stripe webhooks
- Event-driven activation: a vehicle goes live automatically when its device first reports a real test result
- Separate Readiness and Compliance tracking, so a truck can be compliant on its last test but not ready for the next one
- Customer-centric dashboard with a Needs Attention queue for pending installs, failed tests, upcoming renewals and onboarding gaps
- Archive and restore for customers, vehicles and invoices, with paid invoices always preserved
- Permanent admin migration tool for bringing in existing, grandfathered and test accounts without triggering billing
- Separate staging and production environments, with client sign-off on staging before every release
Challenges & solutions
Invoices were being edited in two places. Whenever the client changed an invoice in Stripe, Stripe voided it and issued a replacement with a new ID, and the platform lost track of which invoice the customer would actually pay.
Short term, I handled Stripe's finalize and void webhook so the platform automatically re-points to the replacement invoice. Then I made the case for fixing the root cause instead of patching each case: CTCS became the single source of truth for invoices, and Stripe went back to just processing payments. The sync issues stopped.
After launch, the client spotted vehicles going Active that hadn't been installed yet. Auto-activation was firing when a vehicle was registered, not when its device actually reported.
I reproduced it, traced it to the registration record being misread as a passing result, and changed activation to fire only on a genuine compliance report from the device. Then I audited every auto-activated vehicle, found 8 activated in error, and corrected them with the client's approval.
The system treated 'ready for a test' and 'passed a test' as one status, so marking a truck installed could make it look compliant before it had ever been tested.
Working through the device portal's real behaviour with the client, I split the model into two independent tracks, Readiness and Compliance. I then corrected 37 vehicles that had been showing Compliant without a real test, leaving the 78 with genuine results untouched.
The client had existing customers on old billing arrangements. Importing them through the normal flow would have sent invoices and charged setup fees to people who'd already paid.
I built migration as a permanent admin capability rather than a one-off import: data-only onboarding with no invoices or subscriptions, duplicate-VIN protection, adding vehicles to existing customers, and support for grandfathered accounts. Migrated customers move into normal billing at their next renewal, without the setup fee.
ACH payments take days to clear, and the founder was logging into Stripe to check whether he could ship and install devices.
I extended the live Stripe webhook to track each invoice through Sent, Processing, Paid and Failed, and made sure a cleared payment can never be overwritten by a late event. The status now shows directly in billing and on each customer's history.
Lessons learned
- Real usage beats specs. Most of the important fixes came from production edge cases, so I kept a staging-first release loop and treated client testing as part of the build.
- Separate bug fixes from new scope early. Agreeing on that line kept trust high and the roadmap honest.
- Fix the design, not the symptom. Several 'different' bugs turned out to share one root cause, and fixing that once was cheaper than patching each.
Sherif has been an outstanding developer to work with throughout the development of our platform. He is extremely attentive, highly responsive, and consistently pays close attention to the details that matter. What has impressed me most is his ability to understand not only the technical requirements but also the long-term vision behind the project. He asks thoughtful questions, provides valuable input, and often identifies better architectural approaches than I originally considered.
His work is organized, well thought out, and completed at an impressive pace without sacrificing quality. Communication has been excellent throughout the project, and I've always felt confident that he genuinely cares about delivering a professional, scalable solution rather than simply completing a task.
We've now completed multiple phases together, and because of the trust he's built, I've continued expanding our work into additional projects. Finding a developer who combines technical expertise, attention to detail, strong communication, and genuine investment in the success of a project is rare. I would not hesitate to recommend Sherif to anyone looking for a highly skilled and dependable full-stack developer.
Screenshots




Want something like this built?
Tell me about your project and I'll get back to you.