Automatic schedule
When the schedule falls apart
When a flight is late, the schedule fixes itself. You approve it.
In the clip: 10D and 10E are late, so the assistant moves them into 13A’s car. What it touched glows until a person approves it.
Summary
- Where it comes from
- My job. I dispatch at Seattle STS, from Florida. The company on the board, Sunset & Palms, is invented, and so is everyone on it. The places, the airlines and the shape of the day are real. The quotes on this page are mine.
- My role
- Research, UX and UI, and directing the prototype.
- Built with
- Figma for the first comps, then a clickable prototype built with Claude Code.
- Timeline
- 10 days, October 2026.
- Status
- A self-initiated concept. The assistant in the prototype is a rule engine built from my own moves, not a language model. It shows how the assistant should behave.
Sixty-four rides in one head
Most of our rides are airport pickups. A driver does four or five a day, chained one after another. When a flight is late, the chain breaks.
On September 4, 2025, we had 64 rides. Thirty-one were one corporate group flying into SeaTac for a retreat at the Fairmont Olympic, booked to share vans. Then flight after flight ran late, some before they even took off.
“I was alone that day. I had to change everything by hand and let each driver know. The greeter at the airport was helping, of course. And I was taking phone calls to book new rides. It was a complete mess.”
It took until the last ride at night. Nothing went to another company and no family was split, but only because of experience.
When a flight slips, Limo Anywhere, the tool I use every day, moves the pickup time and tells no one.
“It just changes to 8 AM, and that driver already has an 8 AM pickup. That’s when the juggle starts.”
One wrong detail ruins a phone booking, like 8 AM instead of 8 PM. That night I checked mine against the call recordings. There were mistakes.
The dispatcher on a bad day
Attention gets cut. Tracks flights by hand and re-plans the day while taking calls.
The new dispatcher
Doesn’t have the experience yet. The rules live in a veteran’s head.
The family at the curb
Rules keep them from waiting too long.
The business
Every ride handed to another company or an Uber Black is margin lost.
What I had to go on
I dispatch, so most of the research wasn’t planned. Three sources:
- I wrote down the rules I follow without thinking, so a newcomer could follow them too. Swap our own drivers before calling another company. Never split a family. Don’t plan around a delay until the plane takes off. A first-class passenger with a carry-on is at the curb in twenty minutes; an international one with checked bags can take ninety.
- Besides moving the time, the tool I use every day doesn’t show what a delay broke: the driver’s next job, the shared van, the family waiting at the curb. Noticing is up to you.
- Four other tools, from their public pages: Limo Anywhere, Moovs, LimoCaptain and Limo Flow. The ones that say how they work either flag a problem and leave the thinking to you, or act on their own: Limo Anywhere’s Auto Farm sends rides to other companies by rule.
| Tool | When the plan breaks | Suggests a fix | Says why | Who decides |
|---|---|---|---|---|
| Limo Anywhere | Moves the pickup time to the flight, and marks “potential issues” | Not that we found | No | The dispatcher, by hand |
| Limo Anywhere, Auto Farm | Sends rides to other companies by rule | It acts | No | The rule |
| Moovs | “Dispatch automation” | Unclear | Not that we found | Unclear |
| LimoCaptain | Gives cars to drivers by distance and availability | It acts | No | The rule |
| Limo Flow | “AI-powered dispatch”, no detail | Unknown | Unknown | Unknown |
From public pages only. These tools may do more than their pages say.
None of them suggests a fix, says why, and lets a person decide.
Suggest, explain, let a person decide
The board watches every flight and every driver. When something breaks the plan, it changes nothing. It brings a card: the move, one line on why, and what it costs.
10D + 10E ride with 13A
act by 13:0510D + 10E are late (DL 889, 40 min).
- A veteran works the fix out in their head. A new dispatcher can read it: “10B would wait 40 min for 10D + 10E. Our limit is 25, so 10A–C go at 13:35.”
- It keeps a person where people want one. Passengers tell us, in reviews and on calls: “It’s so nice talking to a human nowadays.”
My first cards read like reports
My first cards explained the problem in a paragraph, then the fix. First in Figma, with the assistant on the right. Then in the prototype, on the real day.


- The title names a problem, not a move.
- A paragraph of facts comes first.
- The fix sits under it.
On October 13 I walked through them as a dispatcher, out loud, and wrote down what I said.
“AI suggestions right now are very vague. To understand them, you need to really dive into the topic.”
On the second card: “The title of the card is bad.” It said “No driver for Kevin Doyle”. At the third card I stopped. The problems I’d staged weren’t how a real day breaks, so no wording could fix the cards.
“Let’s scratch everything.”
I reset the board to the plan as booked, with the real delays and nothing fixed. Then I dispatched it by hand, and wrote down why after every move.
Three moves became the rules
The late family rides in a car with empty seats.
10D 10E ride with 13A
13A is a sedan job going out in Jason’s SUV, with four seats free. Group 10’s van leaves on time.
Late families move into a van with room, so their driver makes the next ride.
8A 8B ride with 9A
Otherwise Danny is 35 minutes late for 27A. 9A’s Sprinter has room.
Nobody to share with: book a new ride.
3C gets own car, Chris drives
The smallest car that fits, with a free driver of ours.
And the limits, in my words:
- Only colleagues share a car. A private booking always rides alone.
- Nobody waits more than 25 minutes. “After that it’s too much, and frustration is going to crawl up.”
- A bigger car is a free upgrade, with a text to the passenger. A smaller one, never: “the luggage would not fit.”
- Our own drivers first, then another company, then Uber Black.
The assistant runs these rules on the board and offers my moves, in my order. At 09:50 it finds four fixes. Each card shows the first move that works, and what it costs. In the prototype, that’s all the assistant is: these rules, written as code.
Codes instead of names
Names were too much.
“Too many names on top of flight numbers and everything being late. When you see the same surname in a suggestion and again in a reservation, it’s a lot. Just put 3C.”
So every family got a seat-style code: the group number plus a letter. Group 3 is 3A, 3B and 3C. A move reads like a sentence: “10D rides with 13A.” The names sit one line below.
- 10D and 10E in red: the families that break the van.
- The flight says why: DL 889 is 40 minutes late, so 10B would wait 40 minutes. The limit is 25.
- 13A rides alone, two people.
Customers got the same idea: a confirmation code they can say over the phone, like RT 33, instead of a six-digit record number.
Show it on the grid, then wait
First I described the move in words. Then I tried a two-step animation: a row slides in, then a driver’s name drops into another row. I rated it bad. It had to be one simple picture, on the grid, right next to the card.
“I moved the assistant to the left so there can be arrows from it, pointing to where it wants to add a group, or make a new ride.”
Now a click on the card acts the fix out. The families’ chips fly from their old car to the new one, an arrow links the two rides, and everything the assistant touched glows. The glow means “not saved yet.” Approve saves the whole fix as one step and tells the drivers. Undo takes all of it back.
- The move, in codes, and the time to act by.
- Who moves where: 10D and 10E into 13A’s car.
- What happened, and what it costs.
- Why, against the 25-minute limit, with the confirmation codes last.
- Who hears about it.
- Approve, or decline.
On the same four fixes I tried three cards: Story, Before / after, and 5 questions. Story won: it leads with the move, and it’s less than half the height.

Smaller calls
A label I couldn’t explain.
The first header said “0 watching”. I’m the dispatcher it’s for, and I couldn’t tell what it meant. It’s now “Waiting for takeoff”: nothing is replanned until wheels-up.
One meaning per color.
27 of 34 flight rows were green twice, so the problems drowned. Now on time is quiet, amber is late but fine, and red is act now, always with an icon. On a board warm means trouble, so the sunset colors stay in the frame: the header’s edge and the sky behind each part of the day.
The routine email.
“Could you pick us up at 7:45 instead?” arrives with the ride found and the reply written. One Approve sends it and moves the pickup.
Simon’s flight moved. The assistant found his ride, checked that Tony still makes his next job, and wrote the reply.
Search by anyone on the ride.
A caller who booked a ride couldn’t be found in Limo Anywhere by her own name or phone. Here the passenger, whoever booked it, and every phone and email find it.
- Barlow. SF Pro, Inter and Geist ran 21–37% wider, and cut “Bellevue” to “Bellev…”.
- How I worked. Figma for the first comps. Then Claude Code, because drag, approve and undo can’t be judged in static frames: “you see your actual work, and where it falls apart.”
How I’d know it works
It’s a concept, so there are no live numbers. In the prototype, the assistant is a rule engine on a staged day.
What I’d measure:
- minutes at the curb, against the 25-minute limit
- rides kept in-house, and what went to other companies or Uber Black
- time from an alert to a decision
- whether a newcomer makes the same call as a veteran, and can say why
- mistakes in bookings taken on a bad day, checked against the call recordings, the way I check mine
The first test is written and hasn’t run yet. Its first question is mine:
“It’s your first day as a dispatcher. Do you understand what you see, without me explaining it?”
I always come from the same place: it needs to be simple.
What I’d do differently
- Dispatch the day by hand first. I designed cards for problems I’d staged, before I’d solved the real day myself, and had to throw them away.
- Get other eyes sooner. I’m one dispatcher, and so far the only person who has used it.
- Set the color rules before coloring anything.
- Make search broader. Even right now, it’s not showing accurate results.
Still open
- Tomorrow’s schedule, built around each driver’s day.
“One driver lives in Tacoma, so his first ride preferably starts from Tacoma, to Seattle airport. The second goes from the airport somewhere else. And his last ride ends closer to his home. Happy driver, happy customer. Less mileage on the car, less maintenance.”
- Grace periods per passenger, by cabin, bags and international, learning from each pickup.
- Two bookings under one name: confirm, never merge. Designed, not on the board yet.
- A live flight feed, and a model behind the rules.
A self-initiated concept, from my job at Seattle STS. Built with Claude Code. Sunset & Palms and everyone on the board are invented.