What Is ServicePilot?
ServicePilot gives a Škoda dealership workshop in Kalamassery one live view of every vehicle, shared across five roles. A workshop job changes hands many times, from service adviser to job controller, parts and manager, and each handoff is a place where a delay can go unnoticed. ServicePilot turns every handoff into a status change that all roles see immediately, with the full history kept.
My Impact
I designed and built the whole app, from data model to deployment. The manager dashboard now tracks 261 vehicles in one place, with 65 active jobs and 12 flagged as delayed (31 Jul 2026), and about 75% of all tracked vehicles delivered. Every status change is logged with who made it and when, parts blockages are handed to the parts allocator automatically, and analytics with Excel export replace manual reporting.
Technology
ServicePilot is a React single-page app on Firebase, hosted as a static site on Render, with no server to maintain.
| Layer | Technology | Role in the app |
|---|---|---|
| Frontend | React 18, Vite, Tailwind CSS | Role-based screens, light and dark mode, responsive layout |
| Libraries | Recharts, React Router, date-fns, xlsx | Charts, routing, dates, Excel export |
| Authentication | Firebase Authentication | Email login; managers create and disable team members |
| Database | Cloud Firestore | Live listeners keep every dashboard current; role-based security rules |
| Automation | Firebase Cloud Functions, Nodemailer | Status notifications, scheduled delay checks, monthly Excel report |
| Hosting | Render Static Site, GitHub | Builds and deploys on every push |
Key engineering decisions
- Access is enforced in the database, not only the screen. Firestore rules limit each role to its own collections, so a PDI Controller cannot read service vehicles at all.
- PDI is fully separate. It has its own collections, so adding it to the live system could not touch existing service data.
- The gate pass rule lives in code. The only function that changes a PDI vehicle’s status also creates its gate pass, so a status change without a pass is not possible.
- Creating users never signs out the manager. New accounts are created through a second Firebase Auth instance and rolled back if the profile write fails.
One Live Status Per Vehicle
Two independent modules, five roles, and access enforced in the database.
Service Workflow
Jobs move from document approval (WDA, WIA, WCA) through WIP, QC and washing to ready for delivery, with parts tracking for jobs waiting on parts (PNA).
Delays Surface On Their Own
The dashboard counts delayed jobs and lists them under Delayed Alerts, using thresholds like WIP over 3 days, PNA over 2 days and QC over 1 day.
PDI & Gate Passes
New vehicles are tracked through the yard, service, stock transfer and delivery, and every move generates a printable gate pass automatically.




More Projects
Explore more of my recent work.
Northman - Law Firm Website
A calm, trustworthy Webflow website for a law firm offering business law, education law and legal consultation.
Selhono - Interior Design Studio
A warm, image-led Webflow website for an interior design studio creating calm, characterful homes and workspaces.