Skip to content

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.

Dispatch board1 emergency open

Ironbark Mechanical · 11 crews · West & East depots · synced live to every van

Re-solve day Thu, 09/17/2026IMCoordinator · N. Brandt
Crews working10 of 11V-09 off shift until 12:00 PM
On site6Working a job now
Driving4Routes from drive time
Calls left today29Across both depots
Drive still planned7 h 26 mWhole fleet, re-solved 9:15 AM
EmergencyEM-4471Refrigerant leak · 9:14 AM

Live map · 9:15 AM

● Driving● On site● Emergency◯ Recommended
WEV-06 · 0.6 mi22 min by road!0102030405060708091011V-05 · 7 minMaps Matrix

Open job · preempts schedule

9:14 AM
EM-4471EmergencyRefrigerant leak · Calloway Medical Offices1180 Tannery Row · RTU-3 · 15-ton rooftop unitNeeds: EPA 608 · rooftop units
Nearest qualified, by drive time7 qualified
V-05Priya Shah1 moved1 slips+9 min7 min0.9 mi straight
V-08Keisha Ward2 moved2 slips+16 min11 min1.2 mi straight
V-02Dana Ruiz1 moved1 slips+19 min13 min1.5 mi straight
Not offered: V-06 nearest at 0.6 mi, no EPA 608 · +3
Send V-05 · apply re-solveAll 7

Crews · what each has left today

Calls remaining and planned drive time, updated as vans report
V-01Marcus BellHarlan Storage · RTU-1 service3 calls left 52mW
V-02Dana Ruiz→ Kestrel Auto Body4 calls left 61mE
V-03Tom OkaforFenwick Hall · walk-in cooler2 calls left 34mW
V-04Luis FerreiraBrightwater School · duct install1 calls left 18mW
V-05Priya Shah→ Quarry Street Lofts4 calls left 48mE
V-06Jake Lindqvist→ Mercer Row Apartments3 calls left 44mW
V-07Ray DominguezSt. Anselm Parish · boiler2 calls left 27mE
V-08Keisha WardNorthline Data · chiller3 calls left 39mE
V-09Sam KowalskiOff shift · at East depot0 calls left 0mE
V-10Erin Walsh→ Pinecrest Clinic3 calls left 57mW
V-11Andre PhamGlasshouse Mall · controls4 calls left 66mE

Who, what, and how long

Industry
Home & Field Services
Duration
16 weeks
Cooperation model
Time & materials
Services
Dispatch platformTechnician appQuoting & invoicing
Integrations
SendGridSegmentSentrySlack
Technologies
React NativeTypeScriptNode.jsPostgreSQLGoogle Maps Matrix APIStripe API
Team
1 Project lead1 Product designer2 Frontend engineers1 Backend engineer1 QA engineer

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.

What shipped
  • 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
EM-4471 · Who can take itPreempts schedule

Ranked by drive time from the Maps Matrix API · filtered on skill and certification · every choice priced as a re-solve

Send V-05 Thu, 09/17/2026IMCoordinator · N. Brandt

Refrigerant leak · Calloway Medical Offices

1180 Tannery Row · RTU-3 · 15-ton rooftop unit · called in by M. Alvarez, facilities at 9:14 AM

RequiresEPA 608 · rooftop units
Crews checked11 · 7 qualified
Nearest by roadV-05 · 7 min

Every crew, checked

Straight-line distance shown for comparison only · the solver never ranks on it
#CrewStraightDrive timeEPA 608Cost of diverting
1V-05Priya Shah0.9 mi7 min1 moved1 slips+9 minRecommended
2V-08Keisha Ward1.2 mi11 min2 moved2 slips+16 min
3V-02Dana Ruiz1.5 mi13 min1 moved1 slips+19 min
4V-10Erin Walsh1.3 mi15 min2 moved1 slips+22 min
5V-11Andre Pham1.7 mi17 min3 moved1 slips+24 min
6V-03Tom Okafor0.8 mi24 min1 moved1 slips+38 min
7V-01Marcus Bell2.1 mi26 min2 moved2 slips+44 min
Not offered · 4 crews, whatever their distance
V-06Jake Lindqvist0.6 mi22 min—No EPA 608 certification
V-07Ray Dominguez0.9 mi6 minNo rooftop-unit skill
V-09Sam Kowalski1.3 mi9 minOff shift until 12:00 PM
V-04Luis Ferreira1.8 mi28 min—No EPA 608 certification

V-06 is nearest in a straight line and never offered: it has no EPA 608, and the river puts it 22 minutes away by road.

If V-05 goes · the re-solve

One pass, before you send
WE!0102030405060708091011
Priya Shah’s day, re-solvedwas 5 jobs
7:40 AMHarmon DentalFilter & belt serviceDone
9:21 AMCalloway Medical OfficesRefrigerant leakEmergency
11:40 AMQuarry Street LoftsCompressor noisePlanned
1:35 PMWestgate BakeryWalk-in coolerPlanned
11:15 AMPell & Stone OfficesMoved to V-08 · Keisha WardMoved
Tomorrow 8:00 AMOakline ChurchCustomer texted 9:15 AMSlips
Moved1 job
Slips a day1 job
Fleet drive+9 min
On screen

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.

11:24
EM-4471 · Refrigerant leakV-05 · Priya Shah · job 2 of 4 todayEmergency
No signal on the roof · today is on this phone4 jobs, history and price book held offline
Calloway Medical Offices 1180 Tannery Row · roof access via stair BOn site 9:28 AMRTU-3
History at this address
06/02/2026T. Okafor · V-03RTU-3 coil cleaned · topped up 2 lb R-410A
03/11/2026K. Ward · V-08RTU-3 spring start-up · pressures normal
11/19/2025T. Okafor · V-03RTU-1 belt replaced · RTU-3 inspected
Photos · on this jobcompressed on capture
236 KB241 KB198 KB Add
Customer sign-offSigned
M. Alvarez, facilities · 11:22 AMbound to EM-4471 · 2026-09-17T11:22:07
TodayJobQuoteSync4

Technician Mobile Field App

On screen

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.

What shipped
  • 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.

What shipped
  • 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
11:06
Quote Q-4471-1Calloway Medical Offices · before the van leavesPaid
QuoteApprovePayInvoice
Price book PB-2026.09 · on device · same as office
Diagnosed 10:51 AM · quoted 10:58 AM
Electronic leak searchLK-110 · qty 1$185.00
Braze repair, evaporator coilRF-240 · qty 1$640.00
R-410A rechargeRF-410 · qty 6 lb$408.00
Emergency call-outEM-001 · qty 1$150.00
TotalApproved & signed 11:03 AM$1,383.00
Paid · card reader · StripeVisa •••• 4417 · 11:05 AMInvoice INV-20931 · marked paidEmailed to facilities · on the board now
If a card declinesSame invoice, issued on Net 30 terms
TodayJobQuoteSync
On screen

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.

Introduction

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
  1. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Process

Phase by phase

  1. 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
  2. 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
  3. 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
  4. 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
Route · V-02 Dana RuizRe-solved

The same afternoon, in whoever-is-free order and solved against drive time

Push to V-02 Thu, 09/17/2026IMCoordinator · N. Brandt
MorningAfternoonWhole dayEast depot · RTU · controls · EPA 608 · crew of 4Legs drawn straight · minutes from the Maps Matrix API

Before · next call to whoever is free

Crosses back on itself twice
1234
112:30 PMKestrel Auto BodyHeat pump no-heat21 min drive
21:45 PMLinden Court OfficesRTU belt replacement26 min drive
33:05 PMHollins PharmacyControls fault24 min drive
44:20 PMMarrow Street DeliWalk-in cooler29 min drive
4 jobs100 min behind the wheel

After · solved on drive time

Tern Yard moved in from the unassigned list
12345
112:30 PMKestrel Auto BodyHeat pump no-heat21 min drive
21:35 PMHollins PharmacyControls fault9 min drive
32:40 PMMarrow Street DeliWalk-in cooler11 min drive
43:45 PMLinden Court OfficesRTU belt replacement14 min drive
54:50 PMTern Yard BrewingGlycol chiller checkFits now22 min drive
5 jobs77 min behind the wheel
Jobs this afternoon4 → 5One more job, same crew, same hours
Behind the wheel23 fewer minutes100 min → 77 min
Office phone callsNoneThe van's app updated when the board did
On screen

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

  1. 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 it settled

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.

EM-4471 · Refrigerant leak · Calloway Medical Offices · 9:14 AMNeeds EPA 608 · rooftop units
WE!0102030405060708091011

This rule sends

V-05 · Priya Shah

RTU · refrigeration crew, East depot

Straight line

0.9 mi

By road

7 min

EPA 608 certifiedRooftop-unit skill

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.

Architecture

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.

  1. 01 · Trigger
    Emergency or scheduled jobAn emergency preempts the schedule the moment it's logged. Nobody waits for someone to be free.
  2. 02 · Matrix
    Google Maps Matrix APIEvery crew is measured to the job in drive time by road, never straight-line radius.
  3. 03 · Solver
    Skill, certification, re-solveCrews who can't legally do the job are never offered it. Displaced jobs re-solve in the same pass.
  4. 04 · State
    Node.js + PostgreSQLEquipment history is bound to the address; signatures to the job and timestamp; quotes to the live price book.
  5. 05 · Field + office
    React 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 build
Have a project?

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.