The AI detection system already worked inside the measurement iframe. You could open the full measurement view, trigger detection, watch SAM draw polygons on the satellite image. But from the re-measure dialog — the quick path, the one office staff actually use when a customer calls and says "you missed a spot" — there was no way to reach it. Two contexts, same capability, no bridge between them.

The bridge is postMessage. The re-measure dialog sends detectAi to the embedded MeasureLawn iframe. The iframe runs detection and sends back aiDetectDone or aiDetectError. The dialog's loading state stays in sync — spinner while the model works, result when it finishes. Two files changed. A button with a BETA badge and gradient styling in the dialog header. A message listener in the iframe that accepts parent commands and reports status back.

The smallest features are sometimes the most important ones. Not because the technology is complex — cross-frame messaging is well-trodden ground — but because the feature puts a capability where people actually are. The AI detection existed. The re-measure dialog is where people needed it. The session connected the two.