Before building, I need to understand the requirements of the product. For startups, this means I spend time with potential customers. For client projects, I review user behavior, interface with the team, define requirements, and consider business objectives.
For ill-defined projects, I start with the lowest fidelity representation of the product—wireframes. Once the project is better defined, I begin exploring how key screens may look in Sketch or in the browser (HTML and CSS). This step is complete once everyone agrees that early designs are the right approach.
The solution is never perfect, so I track user behavior and identify opportunities for enhancing the user experience.