Teaching software how a river behaves
The hardest part of running a rafting operation isn’t the river. It’s logistics.
How do you coordinate thousands of guest movements a season across remote river corridors where nobody has cell service? Many of our takeouts are dozens of miles from the nearest reliable signal. Even our five-watt radios can’t consistently reach through the canyons.
Historically I solved this with experience. I’d estimate river travel time from flow levels, wind speed and direction, trip type, and years of watching how the water moves. Then I’d work backward to when a driver should leave, and hope the timing held.
That works, right up until it’s the only place the knowledge lives.
The automation
When a guide radios in a launch time, it gets entered into Slack. The system pulls current river flows, factors in wind speed and direction, estimates downstream travel time, and tells the driver when to leave.
It has been consistently putting drivers at takeouts about five minutes before guests arrive.
Where the difficulty actually was
Building the automation was not the hard part. Teaching software how a river behaves was.
A river isn’t a road. Travel time between two points changes with flow, and the relationship isn’t linear. Wind direction matters more than most people expect, because a headwind on a wide slow stretch can add half an hour to a float that the flow gauge says should take ninety minutes. Trip type matters, because a paddle crew moves differently than a gear boat. And none of it is documented anywhere, because the people who know it learned it by sitting in boats for years.
The work was extracting that from my own head in a form precise enough for software to act on. Years of observation about flow, wind, shuttle times, and river speed now make dispatch decisions automatically.
Why it matters past rafting
Every operations-heavy business has a version of this. Someone knows how long the thing actually takes, and they know it in their body rather than in a document. That knowledge is the most valuable asset the company has and the least protected, because it walks out the door at the end of the season, or the end of a career.
Getting it into a system isn’t primarily a technical problem. It’s an interviewing problem, and the person you have to interview is usually yourself.