Draw a polygon on a map. Measure a lawn. Save the order. Come back a week later to re-measure and — the polygons are gone. Start over. Redraw every vertex. Hope you remember where the property line was.
The measurement data was ephemeral. It lived in the Vue component's local state, rendered as Google Maps polygon objects, and disappeared the moment you navigated away. The order recorded the square footage — the output — but not the geometry that produced it. Re-measuring meant re-drawing.
A measurement_data JSONB column on the orders table now stores the full geometry: polygon vertices as lat/lng paths, map zoom level, center position. The serialization pattern already existed in QuickMeasure.vue, where polygon state persisted to localStorage for session continuity. The same pattern, threaded through the full stack: Vue component serializes on save, controller passes it through, service writes it to the database, and on re-measure the service returns it, the controller delivers it, and the component restores every polygon as an editable Google Maps object with drag and vertex-edit listeners — identical to freshly drawn ones.
The work was routing, not invention. Taking a pattern that worked in one context and piping it through the stack so it works in the permanent context. The user experience changes from "start over" to "pick up where you left off" — and for an office manager who re-measures properties after customer complaints or seasonal changes, that's the difference between a two-minute task and a ten-minute one, multiplied by every re-measure for the rest of the season.