A dispatch platform that keeps crews moving
A scheduling and dispatch platform with a technician mobile app, instant quoting, and routing that fits more jobs into every day.
Who, what, and how long
- Industry
- Home & Field Services
- Duration
- 16 weeks
- Cooperation model
- Time & materials
Client name withheld under NDA. Engagement details are shown to the extent our agreement permits.
Route-Aware Smart Dispatcher
Pairs emergency requests and scheduled jobs with the closest qualified technician automatically.
Assignment solves against drive time from the Maps Matrix API and against skill and certification, so the closest technician who can't legally do the job is never offered it. Emergencies preempt the schedule and the displaced jobs are re-solved in the same pass, so dispatch sees the full consequence of the interruption right away, while there's still time to act on it.
- Real drive time plus skill and certification
- Emergencies preempt and the schedule re-solves in one pass
- The cost of an interruption shown at the moment it happens
The leak opened up: the seven qualified crews ranked by minutes away on the road with what each costs to divert, four not offered on skill or certification, including the nearest in a straight line, and the chosen crew's day re-solved before sending.
Technician Mobile Field App
The technician's job on a rooftop with no signal: the day held on the phone, equipment history at this address with who did each visit, photos compressed on capture, and the customer's signature bound to the job and timestamp.
Gives field techs job history, navigation, photo attachments and digital customer sign-off in one app.
The app holds the day's jobs offline, because plant rooms and crawl spaces have no signal. Equipment history travels with the address, so a technician sees what was done last visit, and by whom, before they knock. Photos attach to the job and compress on capture, and the customer signs on the device with the signature bound to the job record and timestamp.
- Day's jobs held offline for basements and plant rooms
- Equipment history bound to the address
- On-device signature bound to job and timestamp
Instant On-Site Quoting & Payments
Builds the quote and takes payment on site, before the tech drives away.
Quotes are assembled from the current price book on the device, so the number a technician gives at the door is the number the office will invoice. Approval, payment and invoice happen in one flow through Stripe before the van leaves. The gap between doing the work and getting paid was where the receivables problem lived. A declined card falls back to an invoice with terms, which beats an argument on a driveway.
- Quotes built from the live price book on the device
- Approve, pay and invoice before the van leaves
- Declined cards fall back to invoiced terms
The quote at the door, built from the price book on the device: approved, paid by card reader through Stripe and invoiced before the van leaves, with a declined card falling back to an invoice on terms.
What we were brought in to do
Crews were dispatched by phone and paper, and the day leaked away to bad routing and slow quotes. We built one platform for scheduling, dispatch and the field.
A commercial HVAC contractor running eleven crews out of two depots, dispatched by a coordinator with a whiteboard and a phone. The business had outgrown what one person could hold in their head, and the symptom was drive time: crews crossing the city past each other because whoever was free got the next call. The engagement began after a quarter in which billable hours fell while headcount rose.
Design & Build
Where the old way broke
- 01
Manual scheduling meant idle crews, backtracking routes and quotes that took days, and faster competitors kept winning the jobs.
Quotes were the other half. A technician diagnosed on site and phoned the office, and the office produced a quote in a day or two. By then the customer had a number from someone faster. The contractor's own win-rate data showed estimate visits converting at well under half, and almost all the losses were quotes that arrived after a competitor's.
We built a dispatch platform with route-aware scheduling, a technician mobile app for job details and photos, and instant on-site quoting and invoicing.
What we built together
- 01
Built route-aware scheduling to cut drive time
Drive time replaced radius after mapping a week of real dispatch decisions, which showed crews crossing the city past each other twice a day.
- 02
Shipped a technician app for jobs, photos, and sign-off
The app holds the day's jobs offline and carries equipment history bound to the address, so a technician sees the last visit before they knock.
- 03
Added on-site instant quoting and invoicing
Quotes are assembled from the live price book on the device, and approval, payment and invoice happen in one flow before the van leaves.
- 04
Synced everything back to the office in real time
Everything syncs back to the coordinator in real time, which is what let the whiteboard be retired for good.
Phase by phase
Phase 1: Dispatch Routing & Crew Audit
Field Operations & Downtime Analysis
Audited manual phone dispatch, route backtracking, and technician downtime across eleven field crews.
- Dispatch Audit Report
- Route Efficiency Benchmark
- Operations Matrix
Phase 2: Route-Aware UI & Mobile App
Dispatcher Cockpit & Tech Mobile App
Designed an automated dispatch board that pairs jobs by location and technician skill, alongside a technician mobile app built for the van.
- Dispatcher Web Cockpit
- Technician Mobile App UI
- Figma Design System
Phase 3: On-Site Quoting & Mobile Payments
Instant Quote Builder & Payment API
Engineered an instant quote builder and Stripe card-reader payments on technician devices.
- On-Site Quoting Engine
- Stripe Payment Connector
- Digital Signature Layer
Phase 4: Field Rollout & Real-Time Sync
Fleet-Wide Deployment & Operations
Deployed across all eleven crews, increasing completed jobs per crew by +22% with 18% lower drive time.
- Field Rollout Clearances
- Operations Dashboard
- Staff Training Guide
One engineer's afternoon replanned: the same jobs in whoever-is-free order beside the order solved on drive time, one more job fitted in and twenty-three fewer minutes behind the wheel.
Operational results after launch
+22%
Jobs per crew/day
Minutes
Quote turnaround
−18%
Drive time
Jobs per crew per day and drive time both come from the platform's own dispatch records over the two quarters after rollout, compared against the contractor's job management exports for the same quarters the previous year. The quote turnaround figure is the time from diagnosis to a quote presented, and it now depends on the technician alone.
Client name withheld under NDA. Figures are approximate, drawn from the engagement’s own reporting.
About our collaboration
- 01
A cross-functional team of 5 worked on a time & materials basis over 16 weeks, covering Dispatch platform, Technician app, Quoting & invoicing. We shipped in two-week increments, each one releasable and reviewed live before it merged. Decisions were written down as they were made, so the reasoning outlived the people who made it.
Two technicians carried builds on real jobs from week four, including in plant rooms with no signal, which is why the day's work is held offline. The office and the field were treated as one system throughout, and every change to dispatch was reviewed with the coordinator whose whiteboard it was replacing.
What we'd carry into the next one
Automated route-aware dispatching cut technician daily drive time by 18%.
Drive time fell because the solver preempts and re-solves the whole day when an emergency lands, so the cost of an interruption is visible at the moment it happens.
Instant on-site quoting turned 74% of estimate visits into immediate signed work orders.
The conversion came from being first. The same numbers presented two days later had been losing to whoever quoted on the day.
Jobs completed per crew increased by 22% with zero added staff.
The extra jobs were paid for with recovered drive time and phone calls nobody had to make, which is why output grew while headcount held still.
One emergency, three dispatch rules
The nearest van is rarely the right one.
A refrigerant leak lands mid-morning. Send the closest pin, the quickest van by road, or what the solver sends: a crew with the skill and the certification, ranked on drive time, with the rest of the day re-solved before anyone moves. Switch tabs, or use the arrow keys once one is focused.
This rule sends
V-05 · Priya Shah
RTU · refrigeration crew, East depot
Straight line
0.9 mi
By road
7 min
Qualified, closest by road, cost shown before sending
Crews without the skill or certification are never offered. The seven that remain are ranked by drive time, and the displaced jobs are re-solved in the same pass.
- Pell & Stone Offices · Moved to V-08 · Keisha Ward
- Oakline Church · Customer texted 9:15 AM
- Fleet drive +9 min, on screen before sending
Illustrative: the city, the river, the eleven crews and every minute shown are invented to demonstrate the rules. The rules themselves (drive time over radius, skill and certification as filters, one-pass re-solve) are the platform’s.
From a call coming in to a paid invoice on the coordinator’s board
The office and the field are one system: the solver that picks the van, the app that works without signal, and the payment that closes the job all write to the same record the dispatcher is watching.
- 01 · TriggerEmergency or scheduled jobAn emergency preempts the schedule the moment it's logged. Nobody waits for someone to be free.
- 02 · MatrixGoogle Maps Matrix APIEvery crew is measured to the job in drive time by road, never straight-line radius.
- 03 · SolverSkill, certification, re-solveCrews who can't legally do the job are never offered it. Displaced jobs re-solve in the same pass.
- 04 · StateNode.js + PostgreSQLEquipment history is bound to the address; signatures to the job and timestamp; quotes to the live price book.
- 05 · Field + officeReact Native app · Stripe · boardThe day is held offline in the van, paid through Stripe at the door, and synced to the coordinator in real time.
Right crew, kept record, agreed price
Certification filters, offline jobs & price-book quotes
Never offered a job they can't legally do
Skill and certification are hard filters in the solver. The closest technician without the certification is never offered the job, however near the pin.
No signal doesn't lose the day
The day's jobs are held on the device for plant rooms and crawl spaces. Photos attach to the job and compress on capture; the customer's signature is bound to the job record and timestamp.
The number at the door is the invoice
Quotes are built from the current price book on the device, so the office invoices what the technician quoted. A declined card falls back to an invoice with terms.
Still dispatching crews from a whiteboard, or quoting a day after the visit? Scope your build in 3 minutes.
Scope your buildNearby engagements
Web PlatformsMatching by who covers the address, not by who is nearest to it
A two-sided marketplace for lawn care where providers draw the area they actually serve, so a job is offered to the people who'll genuinely travel to it.
Landscaping & Lawn Care · 18 weeks
Mobile AppsA field inspection app that keeps working when the signal doesn't
A native inspection app that keeps working with zero signal in the field, syncing photos and checklists the moment a connection returns, with push alerts routed through each platform's store-approved channels.
Home & Field Services · 10 weeks
AI & AutomationNever lose a job to a missed call again
A missed-call recovery agent that texts back instantly, captures the job details, books the slot, and keeps a busy calendar full.
Plumbing Services · 6 weeks
Let's talk
Running a large platform, shaping a first MVP, or getting a product ready for a funding round? Tell us where you are. We'll shape the process around it, and stay with you after launch.














