Dispatch for field service teams. I designed a plan that shows its knock-on before anyone commits, across the dispatcher’s map, the technician’s phone and the customer’s text.
- Role
- Product design, end to end (solo)
- Year
- 2026
- Platform
- Dispatcher web, technician iOS, customer web
- Domain
- Field service · Dispatch
- Delivered
- Flow, product, design system, launch page
- Stack
- Figma, FigJam, Mantine, MapLibre

A schedule is a chain. A dispatcher moves one link at 7:45 and finds out what broke at 2 in the afternoon, by which time the customers who were pushed have already called.
Wake is the product I designed for that morning. The company is Calder Home Services in Columbus, Ohio: 212 jobs on a Tuesday, 38 technicians, 4 dispatchers. At 7:40 a technician calls in sick holding nine jobs, two of them on a four-hour commercial contract and one asked for by name.
One sick call, one drafted plan
Wake reads the nine orphaned jobs, drafts a plan, and shows it as a preview. The routes and day lanes fill in, and the activity feed confirms each reply after the dispatcher commits.
The knock-on of a change is real, immediate and invisible until it is too late.
Moving a job is one drag. What that drag does to the rest of the day is spread across a map, a schedule, a contract clock and four phones, so nobody sees it until the day is already broken.
The tools made the dispatcher the integration layer. Every consequence had to be held in one person’s head, and every correction went out as a phone call.
- 01
Consequences arrive hours after the decision
Eight appointments moved on the back of one sick call, and none of them were visible at the moment the dispatcher committed.
- 02
The correction costs more than the change
Putting the morning back took twenty-three phone calls, because every affected party had to be told by hand, one at a time.
- 03
Contract clocks live outside the schedule
A four-hour response time is a promise with money attached, and it sat in a different system from the plan that could break it.

Drag a job, see what it moves
The knock-on is counted while the job is still in the air: what shifts, whose promise is at risk, and how many customers would hear about it.
Start from the morning that goes wrong.
I owned the product end to end across dispatcher web, technician iOS and the customer’s text, plus the design system underneath and the launch page on top.
- 01
Made the plan a preview rather than an action, which is the decision the whole product rests on.
- 02
Designed the knock-on as a first-class object: what moves, who hears about it, and what it costs, counted before the drop.
- 03
Carried one Tuesday across three surfaces so the dispatcher, the technician and the customer never see contradictory versions of the same day.
- 04
Themed Mantine into the product’s own system and built the map components a dispatch tool needs that no library ships.
Write the Tuesday down first
One FigJam holds the sick call, the nine jobs, the four people who touch the day and what each of them wants. Every screen answers a moment on that board.
Find where two good rules collide
Speed against certainty, automation against a person’s judgment, and the customer’s convenience against the technician’s route. Each became a decision with a written cost.
Design the preview before the commit
If the knock-on is not visible before the drop, nothing else in the product matters. I drew that state first and let the rest follow from it.
Build a real map, not a picture of one
Columbus from OpenStreetMap in Wake’s own style on MapLibre, with routes from a routing API, so every van on the page drives a real street and the timings can be argued with.
The count happens before you let go
A real drag between lanes. The tooltip resolves before the drop, so the dispatcher is reading a consequence rather than discovering one.
Four decisions did most of the work.
- 01
Wake suggests, a person commits
Nothing moves and nobody is texted while the plan is a preview. The cost is one extra click on a quiet morning, which I took because an automatic plan that is wrong once destroys trust in every plan after it.
- 02
Tell customers once, not now
Texts go out on commit, one per customer per change, instead of on every intermediate edit. The cost: a customer hears six minutes later than they technically could.
- 03
The same technician, unless a contract is at risk
Return visits within thirty days go back to whoever went first, because continuity is most of what a customer means by good service. The cost is sometimes a longer drive.
- 04
The contract clock lives on the job, not in a report
Every job carries its own response time and shows what a proposed move does to it. Sorting by what breaks first turns a schedule into a queue of decisions.
One card in the van
The technician gets what changed and what it pushed, not a rebuilt schedule. The same Tuesday as the dispatcher sees, cut to what a person holding a toolbag can act on.

The board the product came from
The brief names the morning, the company, the four people who touch the day and what each of them wants. The thesis at the centre is the sentence the whole product argues with.
A plan you can read before you commit it, on every surface that hears about it.
The result is one Tuesday told three ways: a dispatcher who sees the consequence before the drop, a technician who gets the change rather than the schedule, and a customer who is told once.
It demonstrates multi-surface product design held to one shared model, a design system themed from Mantine, and a real routed map rather than a rendering of one.
- 6
- minutes from the sick call to a committed plan
- 9
- moves proposed in one preview, each with its knock-on counted
- 23
- phone calls the old morning took to put the day back
- 212
- jobs on the Tuesday that every screen shares
If I took this further, the next step would be a real dispatch floor on a bad morning. Whether a preview survives time pressure, and whether one text per change is genuinely enough for a customer, are the two assumptions carrying the most weight.
Albedo
Storm response for utility-scale solar
