Design without process is decoration. Here’s how I move from a vague problem to something real — and how five years of watching products break shapes every step.
Before opening Figma I need to understand what's actually broken. This means talking to users, reading support logs, mapping existing flows, and asking uncomfortable questions about why things are the way they are.
For PipelineStudio, I started by interviewing non-technical stakeholders who were supposed to use the existing dashboard. None of them could explain what a data pipeline was. That told me everything — the problem wasn't the UI, it was the mental model.
Research is just noise until you shape it into a clear problem statement. I use How Might We questions to reframe findings into design opportunities — specific enough to act on, open enough to explore.
After research on Contractor Hub, the real problem wasn't 'the form is confusing' — it was 'contractors don't understand what happens after they submit'. That reframe changed the entire design direction.
I map user flows and system flows before touching any UI. This forces clarity on edge cases, error states, and the difference between what a user expects to happen and what the system actually does.
For StockIT, mapping the inventory update flow revealed three separate user roles with conflicting mental models. Without the flow map we would have designed for one and broken the other two.
I sketch multiple directions for every key screen — not wireframes, rough concepts. The goal is to exhaust bad ideas quickly so the good ones have room to emerge. I present options to stakeholders rather than single solutions.
Will be updated with a real example from current project work.
High-fidelity design with a real design system — not because polish matters at this stage, but because the details reveal problems that low-fidelity hides. Then prototype just enough to test the critical decisions.
Will be updated with a real example from current project work.
Usability testing with real users, not colleagues. I document findings systematically and feed them back into the design — not as a one-time step but as a continuous loop. Every test teaches me something the design assumed wrong.
Will be updated with a real example from current project work.
Each tool earns its place at a specific stage. Nothing is used out of habit — only because it’s the right fit for the job.
Maze
Unmoderated usability testing
FigJam
Affinity mapping and synthesis
Notion
Problem framing and HMW documentation
Miro
User flow mapping and ideation
Figma
High-fidelity design and prototyping
Windsurf + Claude
Portfolio development and component building
Process meets product