context
Every delivery was gated on the same manual step
Boundary works with remote sensing data. Each client deliverable was a report full of geospatial visualizations, and assembling one by hand was the slowest part of the whole pipeline.
automation
A reporting pipeline that produces the deliverable, not a draft of it
I built an automation pipeline in Python that takes raw geospatial data and produces the customized report — visualizations included. The goal was not to speed up the manual process but to remove it.
analysis
A 3D viewer that behaves like part of the app
I designed and built a React application for analyzing 3D geospatial data, integrating Cesium for globe and terrain rendering with Zustand holding the state shared with backend services.
Most of the real work in an app like this is not the geospatial part. It is getting an imperative rendering engine that owns its own canvas and camera to cooperate with React's render cycle without fighting over who is in charge.