Ship it, then actually look at it
I spent an afternoon polishing the roleplay scenario builder, comparing the live screen side by side with the design. Twelve fixes went out. The interesting part is that every single real bug was correct in the code and broken on the screen.
Green build, broken screen
A slider that was supposed to fill up as you dragged it sat permanently at halfway, because a value was never passed through. A menu opened with half of every word cut off, because it was trapped inside a container that clips anything spilling over its edge. The little dots that connect parts of the diagram were landing in the wrong place, because their positions had been guessed rather than measured. The text looked subtly fuzzy on a high-resolution screen.
None of these would have been caught by reading the code. They all compiled. They all matched the written spec. They were only visible when you put the real screen next to the design and looked.
Look at the real thing
The lesson I keep relearning is that “the build passed” is not evidence that the thing looks right. The only way to know is to ship it somewhere you can actually open, take a screenshot, and hold it up next to the design.
There is a companion lesson about guessing. The connector dots were misplaced because their positions were hard-coded approximations. The real fix was to measure the actual layout on screen rather than assume it. Approximated measurements are a polite way of saying “this will be wrong”, and they drift further wrong the moment anything around them changes.
Build it, ship it to a place you can see, then actually look at it. The screen tells you things the code never will.