Field session · 7 Sep 2026 · an empty parking lot · Honda Rebel 1100 DCT

The Miracle Happened!

The About page ends with a phone on the handlebars, some raw data handed to a Claude Code AI session, and a request for a miracle.

This is what happened next.

Twenty-one minutes of drills, as the phone's GPS saw them. There are drills in there. How they came out is below.

Drag to look around · tap to fit

Twenty-one minutes of numbers

The input wasn't much to look at. It was one zip file from an app called Sensor Logger, recorded during 21 minutes and 35 seconds of parking-lot drills, plus a short clip recorded in the garage. It had no video, no notes about which drill was which, and no cones. It held a few million rows of numbers from the phone's accelerometer, gyroscope, compass and GPS, and that was all.

The one instruction was roughly this: here's the data, I tapped the phone to mark my drills, see what you can find.

The obvious answer was a blob

The natural first move is to plot the GPS track. Phones know where they are, so the drills should just appear.

They didn't. The GPS dots made a featureless smear across the lot. The phone's position was only good to about 4 meters (12 feet), and the drills themselves are only 6–12 meters across. Asking GPS to draw a figure eight is like signing your name with a paint roller.

Claude noticed one thing hiding in the same data, though. The GPS speed was excellent, good to about a sixth of a mile per hour. Speed comes from the Doppler shift of the satellite signals, not from position, so it doesn't share position's blur.

That became the key idea: let the gyroscope draw the shape, and let GPS supply the speed. The gyro knows exactly how the bike is turning, moment by moment. GPS knows exactly how fast it's moving. Combine the two and walk forward one two-hundredth of a second at a time. Navigators call it dead reckoning: no map, just "which way am I pointed, how fast am I going, and for how long."

What GPS saw: every position fix from the 21 minutes, colored by time.

Drag to look around · tap to fit

The same 21 minutes, drawn from the gyroscope with GPS speed for scale.

Drag to look around · tap to fit

The same session, the same 21 minutes. On the left is what GPS sees. On the right is what the phone's own sensors drew: rounded rectangles, serpentines, figure eights and tight circles, all overlapping where they were ridden in the same corner of the lot.

That was the moment.

Finding the taps in a running engine

Rich had marked his drills by tapping the phone: three taps to start, two between reps, four to end. That's easy to see in a quiet room and hard to see on an idling 1100 cc twin.

The first attempt failed. The obvious method listens for sharp, high-pitched jolts, and the engine floods exactly that range. Filtering harder didn't help, because the engine is loud at every pitch the filter could pick.

So Claude asked what makes a fingertip different from an engine, and found two answers:

  • A tap is sudden. It's over in a few milliseconds.
  • A tap twists the phone. A finger lands off-center, so the gyroscope feels a small rotation. Engine vibration mostly shakes the phone back and forth without twisting it.

A real tap has to show up in both sensors at the same instant. That rule cut through the engine noise.

To test it, Claude used the short garage clip, recorded with the engine off. Rich had tapped three times before each flip and shake of the phone. The detector found every one of those triple-taps, about three-tenths of a second apart. It had learned Rich's rhythm.

The garage calibration: four triple-taps (red lines) ahead of each flip and shake.

Drag to look around · tap to fit

Then came the real test. With no list of drills to go on, the detector found a three-tap, four accelerate-and-stop runs separated by two-taps, and a closing four-tap. It had worked out the emergency-braking drill and the marking scheme from the signal alone.

It also found taps while the bike was rolling at 8–10 mph, with spacing so even that the analysis notes called it "a metronome, not a pothole." So the app shouldn't assume a rider stops before marking.

Every drill, drawn

With the taps found, the ride split into segments, and Claude drew each one.

Every tap-delimited segment, green dot start, red square end.

Drag to look around · tap to fit

Claude learned to read them without being told what they were:

  • A circle turns a full 360° every lap.
  • A figure eight turns plenty but ends up facing about where it started.
  • A U-turn turns 180°.
  • A stop-and-go run has a stop every few seconds.

One segment came out as four neat lobes, which matched Rich's description of the offset weave. Another turned 1,169° in 46 seconds, which is about three and a quarter tight circles. Two long stretches had no taps at all, but the drawings showed real drills in both. Some taps had simply been missed, which turned into a lesson for the app: marking has to be easy, or it won't get done.

Claude got one guess wrong. It expected a long pause where Rich had stopped to fiddle with a camera, and the data said there was no such pause in this file. Claude reported that plainly instead of bending the data to fit the story.

The braking numbers held up

The emergency-braking reps produced real coaching numbers: speed at the brake, stopping distance, and how hard the bike slowed.

RepSpeed at brakingDistance to stopPeak slowing
123 mph40 ft0.79 g
228 mph56 ft0.91 g
328 mph63 ft0.88 g
432 mph50 ft1.00 g
Top: speed, with GPS dots and the blended line; bottom: braking force.

Drag to look around · tap to fit

Rich looked at those distances and pushed back: are these twice too long?

That was the right question to ask, and the answer wasn't "trust me." Claude measured the distance again two more ways that share no code with the first: once from the raw GPS speed, and once from the GPS position. The raw-speed figure agreed within 2–7%. The position figure came out a little short, and the reason is known: phones smooth their position, so it lags during a hard stop. The distances were real.

The interesting part was why they were long. On every rep the brakes reached their peak, but late. Average slowing was only about half of peak, because the distance was lost while the brake pressure was still building, not at the peak. Reps 2 and 3 started at the same speed but stopped 7 feet apart. Rep 4, the fastest, scaled down to 20 mph, would have passed a common 25-foot standard with room to spare. One genuinely good stop and three that weren't is far more useful to a rider than an average.

Then came an unexpected idea: entry speeds varied by 9 mph from rep to rep. Since stopping distance grows with the square of speed, that one inconsistency could almost double the stopping distance before technique even enters into it. A beep at the target speed would fix most of that, and the numbers say even a slow beep would do.

What it couldn't find, and what that led to

Not everything worked. Claude searched hard for countersteering, the brief push of the bars away from the turn that starts every lean. It didn't find it. Rather than claim a result, it worked out why: in 21 minutes of slow drills, the bike was turning above 20 mph for less than one second. The experiment simply hadn't asked the question.

Three weeks later, with a camera on the frame and another on the bars, it did. That story is in Countersteer, caught on two cameras.

So, was it a miracle?

No magic was involved. A phone on the handlebars, one ordinary practice session, and an AI that:

  • tried the obvious thing first and said so when it failed,
  • looked for a second way in: gyroscope for shape, GPS for speed, a twist for a tap,
  • checked its own work against a quiet garage, a known drill, and three independent measurements,
  • reported what it couldn't find as clearly as what it could.

By the end of the day, a pocket phone had drawn every drill, found every marked brake rep, scored them, and pointed to the habit that was costing stopping distance.

For a rider who practices without cones, that's close enough to a miracle. It's also why MotoDrill exists.

What's next

Rich's next ride brought new challenges. He now had an app that clearly marked each drill, but the phone's sensor logger stopped running. A totally wasted ride? No. Claude Code pulled another rabbit out of a hat. This time a 360 hat.

Countersteer, caught on two cameras →