Jul · 11 · 2026 · permalink
Measure the ceiling before iterating further
I closed the heuristic phase of ArchPad's screenshot→mockup converter (on-device CV + OCR, zero ML in the critical path). The signal to stop wasn't fatigue: recent rounds went from fixing structure to fixing cosmetics, and the instrumentation showed the ceiling — text at 94%, color near-exact, geometry stuck at ~53%. When every layer is measured, stopping the heuristic grind is no longer an opinion: it reads straight off the numbers, and the next leap gets designed against the measured weak layer — an on-device object detector, not more rules.
The bonus I didn't see coming: the product's own template catalog renders screens with exact frames and types — free, unlimited labeled training data. The usual cost of a vision project (labeling) was already paid by another feature.

