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.
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.
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.