After agreeing on the concept on the target scenario, the designer finalizes the application:
covers all user scenarios;
handles the so-called border states: no internet, data entered incorrectly, successful and unsuccessful sending of data, blank screens (no data yet), contextual hints (short messages that tell the user how the interface works) and others.
Sometimes the final result in visual design may differ from what was shown to the client at the design stage due to new inputs in the finalization process - this is normal. The main thing is to keep the logic of interaction between interface components.
Most companies have design systems - sets of components that are implemented in visual design and in code, that is, they cover both design and programming at the same time. Because of this, the stage of creating wireframes is increasingly skipped.
For example, I only use paper prototypes to understand what I want to design in a graphics editor. And then I make a layout using a design system without using wireframes.
Design systems are usually assembled from built applications. This approach speeds up the creation and coordination of design with the customer, and designers can use proven solutions in new projects.