Driver scheduling system
An eight-week driver rotation and a dispatch board that works out coverage when someone calls in.
I manage a City Transit division, and I build custom software for it when nothing off the shelf fits. Each project here has a write-up covering the problem, the tool and what I learned.
An eight-week driver rotation and a dispatch board that works out coverage when someone calls in.
A trip scheduling app for paratransit service, built with Node.js, Express and SQLite.
A real-time feed of bus locations in GTFS Realtime, the standard format that trip-planning apps read.
A battery-powered e-paper countdown sign for bus stops, prototyped on a $32 CrowPanel ESP32-S3 board.
A step-by-step wizard that asks about a purchase and produces the price-reasonableness and small-purchase forms.
A printable coloring page and a story app that makes a kid's own hand-colored bus the hero.
Drive the trolley or a 35 foot bus on the real routes, in a 3D city built from real streets and about 40,000 real building footprints.
Four of these run right here with made-up data. See the demos page.
One of our route signs had an extra L in it. The editing software was long gone. AI read the sign's raw file, found the two bad spots and swapped the letters without disturbing anything else.
How I turned the GPS units already on our buses into a GTFS Realtime feed, and a live map for the public.
A 3D driving game in the browser built from real route data, real streets and about 40,000 real building footprints. It started as a trolley simulator and kept growing.
An eight-week driver rotation in a spreadsheet, plus a one-page board that works out who covers which route when someone calls in.
A small web app for booking paratransit rides, assigning drivers and producing the reports, built with Node.js, Express and SQLite.
Commercial e-paper bus stop signs cost thousands of dollars each. I'm building a single-stop prototype around a $32 e-paper board and a long-range radio.
A single-page tool that asks plain questions about a purchase and produces the right determination form, with the checks that are easy to forget.
A printable coloring page and a small story app that puts a kid's own hand-colored bus into an adventure, ending with a certificate.
A list of every kind of thing I have used AI for, at work and at home, with a short post on each. Start here.
Four small federal funding and accessibility questions that can each eat an afternoon, and how I ask them now.
A church invited us to bring a bus to a community event. I used AI to understand the question before I took it to legal.
We keep meeting riders we cannot talk to. Here is how a real problem at the bus door became a funding memo Finance could approve.
I had a morning meeting about an old scope of work for a backup generator. I asked one question: what is wrong with this, and what is not in it?
I asked AI to make two emails funnier. It did, and it also noticed that one of them never answered the question I was asked.
When a resident asks whether a rumor is true, the wording matters. Here is how I draft those replies, including the time the AI got ahead of the facts.
Cleaning checklists, a fare flyer, a staff reference sheet, a fillable form and an anonymous suggestion box. None of it is glamorous. All of it used to wait.
A federal review left us with findings and a deadline. Here is how AI helped turn scattered old documents into procedures we can actually follow.
Several older grants, a handful of invoices and a date after which the money goes away. AI did the matching and found the invoices that did not fit.
I wanted to save our purchasing staff some work on small purchases. That turned into a memo, then a form, then a wizard that writes the paperwork.
A consultant asked for our transit plan. We did not have a stand-alone one. Here is how the documents we did have became a 14-page plan.
I spent weeks on a presentation about on-demand transit. Then one of my assumptions turned out to be wrong, and the whole thing had to be rebuilt as something else.
I had a disagreement over how a written policy should be read, and a meeting in sixty minutes. I asked AI to argue the other side.
Someone sent me a total. Before I agreed or disagreed, I had AI read the rulebook and recount.
I taught myself to build web pages. With AI doing a large share of the typing, I now build the tools my division needs when nothing off the shelf fits.
Before my assistant manager and I sat down to sort out everything on our plates, I asked AI how to run that meeting.
Transit is a public service, and the public should like it. Two small examples of using AI for the community side of the job.
The most useful post in this series. The mistakes I caught, the ones I nearly did not, and the requests the AI turned down.
A short note on what I plan to write about from the transit side, and what I'll leave out.
Everything in this section is my own account of my work. None of it is an official statement from my employer.