
Before I write a single line of code, I try to understand who I'm building for. That habit came slowly — through shipped features nobody used, and interfaces that made sense to me but confused everyone else.
The biggest mistake I made early in my career was jumping straight into wireframes before understanding the problem. Real research starts with asking uncomfortable questions: Who is this for? What are they trying to accomplish? What stops them today?
I usually start with a short discovery session — either a quick survey or a 20-minute interview with actual users. Even 5 users can surface patterns you'd never catch alone.
You don't need a fancy lab or expensive software. I've run usability tests over Google Meet with a Notion doc for notes. What matters is watching someone use your product without jumping in to help them.
Give them a realistic task. Stay quiet. Watch where they pause, where they click the wrong thing, where they sigh. Those moments are gold.
I keep my test scripts simple — an intro, 3-5 tasks, and 2-3 follow-up questions at the end like: 'What would you change about this experience?'
After each session, I dump all my observations into sticky notes (digital or physical). Then I group them. Patterns emerge fast — if three different users struggled to find the same button, that button needs to move.
I've found that affinity mapping shifts the conversation from opinion to evidence. Instead of 'I think users want X', you can say 'Five users showed us they need X.'
Research means nothing if the findings don't influence the product. After every round of testing, I document what we learned, what we're changing, and why. Then we test again.
This loop — research, build, test, iterate — is what separates products people love from products people tolerate.
Good research doesn't have to be expensive or slow. It just has to be honest. Ask real people real questions, watch them struggle, and let that shape what you build.