My Process

How I approach building products is envolving. This page reflects where my thinking is today — and how I am leveraging AI.

Design Process

AI Assisted Product Design

I use AI at all stages of the product creation process to accelerate work. It’s not one tool, it’s many cross discipline partners. I leverage AI as a second PM, stakeholders, user personas, product/ux design peer, and software engineer. It provides a separate perspective, rapid generation of ideas, or immediate and often surprisingly thoughtful feedback in every scenario. AI Augmentation is most effective when given a specific domain or context, whether you’re asking it to code a feature or provide usability feedback, focus matters. So does having a human in the loop. AI is like having an unlimited number of junior individual contributors. With coaching they can do good quality, exceptionally fast, work.

Having product, design, and engineering skills matters. If a single person has all of these skills, domain knowledge, and good judgment, it provides a significant opportunity for speed. I have these skills. 

Discovery

Early on, I feed AI light weight context (core business objectives, goals, and success metrics) and ask it for opinions about a given domain, problems it thinks need to be solved within that domain, critical use cases, and why those use cases are critical. I’ll also ask it to describe who the users are and differentiate between user and business problems. My experience shows that AI gets a lot of the fundamentals right. Its "instincts" are generally good--even if some of the details are not. If I’m working with a Product Manager, I’ll ask AI to evaluate any documentation or notes they provide AFTER getting an initial perspective from AI to have multiple perspectives to consider. I leverage both the work of human partners, and AI to seek evidence that the initial direction is correct, accurate, or just sounds right.

Depending on the project, this may be enough to get started. If it’s not, I still love a good whiteboard session or card sort activity to collect ideas or gain alignment with the team and I’ll also run the results through AI to see if there are considerations the team may have missed. 

Design

I’m often trying to do a lot of things at once. To enable this, I’ll have multiple AI Coding Agents acting as junior designers and provide them each with a simplistic brief to get started. Frequently, agents build important pieces of the experience I didn’t ask for but would eventually need. For the parts it does build, it requires feedback. In essence, the early part of my design process is rapid repeated design critiques to rough out the experience through feedback to the agent. Once the components, functionality, and flow are something I like, I go hands on to refine the experience. For example, I find that AI has a poor sense of spacing and will misuse modals, popovers, and tooltips. At the same time, it surprises and delights by creating experiences that are often responsive and allow for cross device evaluation. To get the best results, I reference existing experiences and tell it which components and patterns to use. This judgment and context make the process faster. 

AI Agent continuing improvement

While humans learn during a project, AI should too. Coding agents like Github Copilot allow you to create instructions, agents, and other “context” files that guide how they will collaborate with you. As the fidelity of your thinking improves, you can use this to help the tool stay up to date with the latest context to make sure it’s giving you work that stays on point. This should include information about the tech stack, design system, technical constraints and other details so that any prototypes that are created have a chance of being leveraged by engineers to ship faster.

Validation

My preference is to build a prototype immediately and conduct usability tests. With AI, high quality near perfect fidelity prototypes are cheap and provide the ability to test without bias. Too frequently, clickable prototypes are treated casually in usability tests because they are clearly not real which skews results. I also believe that low fidelity mockups or wireframes now offer limited value when compared to production level prototypes that follow a design system. Further, I view early prototypes as disposable concepts and that’s important because AI coding agents can get attached to your initial ideas which influences its future performance.

Creating multiple concepts

If you test the first prototype, it performs well, and the risk is low, ship it. Agile development stresses iteration. Ship it. Learn from it. Improve it. Unless the risk is high, I believe it is less effective to generate a series of designs that will be debated without clear data or evidence showing one is better than another. A/B tests fall into the same mental model. Build it, test it against the control, then ship it or pull back. 

Historically, as a designer, “shipping it” was risky and I wanted to validate that the implementation matched my design before letting it get to end users. Today, I’d make those polish adjustments or modality changes myself directly in code if necessary/available.

What about brand, delighting users, visual design or more nebulous and hard to define objectives? If that’s a critical part of what you’re working on that’s “High Risk” - meaning that your organization has decided this matters a lot and you’re willing to put the effort into multiple rounds of testings on separate prototypes, focus groups, or similar activities.

Taste

Personally, I consider “taste” an ambiguous word that is the result of nuance, intuition, psychology, domain expertise, and visual design. There is a “feel” you get for the right experience that should be trusted - but also articulated. In my view, that articulation is “design rationale.” If you have the trust of your peers, this can work. However, if you don’t and you can’t articulate your “taste” you’re likely to find disagreement with your team. The exceptional part of functional prototypes is that usability test results will help you articulate, or correct, what started as “taste.” This is another reason why the creation of functional prototypes with AI can accelerate and smooth out the delivery process.

What about Figma?

Figma and similar tools still have a place. Not all designers have developed agentic coding skills. Some designs are more about graphics or brand than the functional experience. However, I believe designers who can treat a developer IDE with a coding agent like a design tool (and understand some basic coding fundamentals) offer the most value to a business and its customers because:

  1. Designers will increase their technical aptitude and understanding of what is feasible.

  2. It’s faster - Front end developers won’t be forced to translate static mocks (even in Figma Dev mode) into code. They might need to refine, improve, or recreate the code - but will have a clear baseline to follow.

  3. Adjusting property values in Figma isn’t significantly different compared to code and pixel perfection seen by designers can be handled instead of explained

Discover, Define, Design, Deliver

At the core, these four steps are still part of the process. Leveraging the process described above is just faster if you’re willing to leverage and manage agents to augment your capabilities and use different tools. I built designs in Photoshop, Powerpoint, Omnigraffle, Axure, Sketch and most recently Figma. In my view, my new design tool of choice is Visual Studio Code and Github Copilot. Same design skills, different tools.