I start by trying to understand the problem fairly deeply, the technical challenges involved, constraints, business needs, etc. To come up with the solution, it varies quite a bit. Often the idea starts taking shape in my head while I’m doing something unrelated - driving, walking, or lying in bed. I'll mentally review similar existing patterns or solutions from other apps. Then I jump into a design tool and start visualizing the concept. As I sketch out details, I start noticing edge cases and solving them in real-time.

Other times, I dive right into coding—experimenting with interactions and flows first, then adding visual polish and micro-interactions.

When working on a team, I love going to a white board and figuring out the new flow alongside other designers, engineers or PMs. This should be a safe space to explore, share ideas, and debate.

When presenting an idea, I like using Keynote or a prototype to tell a story: outlining the problem, highlighting challenges, then guiding the audience through a happy-path experience, and addressing key edge cases at the end.