Geospatial · Lidar · Earthwork

Ground Truth

Two lidar surveys of the Oso landslide turned into a change map, a cut-and-fill measure and a cleanup plan. Trucks, routes, weeks and weather.

6.5M Cubic yards of hillside that came down
7,100 Truckloads to clear the highway corridor
2026
The Ground Truth app in its What changed view, a hillshade of the Oso valley with the slide scarp in blue where ground was lost and the debris field in orange where it came to rest, a legend of elevation change on the left and cut and fill volumes on the right

The problem

On March 22, 2014 a hillside above Oso in Washington came down across the valley and State Route 530. Forty-three people died. The state had flown lidar in 2013 and again two days after the slide. Two surfaces that show exactly what moved.

Cut, fill and haul cycles were the daily math of the construction software I’d designed. Before an interview for a product built on drone imagery and GIS, I wanted to do that math myself.

How it was built

In an afternoon, with Claude Code. I chose the data, set the questions, checked the numbers against the survey and designed every screen. Claude wrote most of the code. The point was to see how far a designer with the domain and an AI agent could get in one sitting.

What it does

  • Swipe between the 2013 and 2014 terrain, flat or tilted in 3D.
  • A change map. Blue where ground was lost, orange where ground landed and gray inside the level of detection.
  • Draw a polygon for cut, fill, net and uncertainty.
  • A cleanup plan with swell, truckloads, two pits, real road routes, fleet, days and thirty years of weather. Every factor is editable and every default is sourced.

The hard parts

  • The data. The lidar portal has no API. I pinned the 2014 flight date from GPS timestamps in the point cloud, and checked the two surveys on stable ground before subtracting them.
  • Honest numbers. Anything under three inches is noise, and the app says so. Cut and fill never match, because soil swells and part of the deposit is under a lake. The app explains the gap rather than hiding the numbers.
  • Respect. Every number traces to a source or a labeled assumption, and the copy stays factual about the forty-three people.
Design decision
The cleanup plan is a what-if, and the app says so on every screen. The plan is the earthwork a planner would price, not what happened.

Outcome

Vite, Preact and MapLibre in the browser with a Python pipeline behind them. Tests on both sides. Live at daviddonnell.com/demos/ground-truth with the sources, datums and limits written down beside the map.

What I took from it

Data forensics is design work. Writing down the flight date and the level of detection is what makes a number an engineer will trust. And most of an earthwork estimate is assumptions. Making every one editable is the product.