First I try to understand the target audience. The best solutions come from the best insights into human behavior.
I create low-resolution prototypes to be able to test a wide range of possible solutions. I build only enough to test my idea, and I iterate on it until it's exactly what's needed.
I test prototypes with real users in specific context, observe their reactions and analyze feedback.
Real world usage can show unexpected usage patterns, common struggles and define the trajectory for the future product improvement.