Product Design Philosophy

Collected insights and principles from years of building products. These shape how I approach every design challenge.

Focus

Build the right product

Products have to create an attraction for real people. Spend time on what matters.

Value

Always add value

Value must be proven. More work, change, or progress can be good or bad, but value focuses on real metrics. It helps focus on what matters. Adding value does not require perfection and it insinuates there needs to be a clear increase in value that can be demonstrated at some level in the work.

Simplicity

Keep it simple

Users usually want something very simple. Power users can still benefit from simple features, and they might enjoy it better too!

Simplicity

Simplicity is complicated

There is always a danger when you simplify things which makes good simplicity hard to achieve. Simplicity which enhances usability is worth the effort. Complexity loses engagement.

Strategy

Establish UX Reciprocity

Rely on patterns elsewhere for a mutual benefit. Everything that’s the same should be the same. Save users time by not making them relearn.

Marketing

Marketing is a big deal

There is always a point in product development when marketing becomes the most important, it can truly make or break a product no matter how good.

Brand

Remember who you are

Don’t forget the past when adapting for the future. Don’t lose the essence of what made the business what it is today.

Value

Prioritize user content

No content you create is as valuable as the content a user creates. Users return for their own content.

Collaboration

Work transparently

Early visibility is easier than late presentation.

Collaboration

Listen to others

As designers it is easy to think we have to come up with all the solutions. In reality we don't, most of our solutions will come from others and our job is often simply just to listen and ask the right questions. If we listen and are able to apply the best solutions we hear, we can almost guarantee the outcome to be successful.

Research

Don't assume

Do research and build strong intuition. Builders don’t build a new house with top-bottom split doors just because it could be a nice feature somebody wants. Don’t build software that way either.

Brand

Meet expectations

Users are always benchmarking: faster, easier, cheaper, stronger, nicer, cooler, …. Users form expectations based on their experience with similar kinds of software. Those expectations influence a user’s response to software.

Brand

Be ethical

Putting users best interest first creates loyalty and trust.

Process

Progress over correctness

Iterate to greatness. Balance business goals with craft by shipping continuous improvements and avoiding the perfection trap.Vercel
Simplicity

Don't distract

Good design is invisible. Keep the user on track by removing friction. Every bit of friction is something in the way of the happy path and a return customer.

Collaboration

Work together

Work for the name on the front of the jersey, not the back.

Competition

Pave the way

Innovation carves out its own path to create a competitive advantage.

Intuition

Wear their shoes

No customer should feel like your first customer. Know the user experience, and refine it.

Prototyping

Prototyping is worth it

If a picture is worth a thousand words, then a prototype is worth a thousand meetings.Tom & David Kelley, IDEO
Simplicity

Guide the user

Make decisions easy by removing choice when possible. Create structure and hierarchy. Provide visual feedback to actions users take and guide them to the next step.

Value

Success can be measured

Beautiful interfaces are table stakes. Design for metrics that matter: conversion rates, AOV, retention, and long-term product sustainability.

A strong product saves time, adds value, competes well, and provides a good experience start to finish.

Advantages of working at the intersection of design and code

My 5 years of React/TypeScript experience isn't just a bonus—it's a fundamental part of how I design better products.

Prototyping in Real Code

I can prototype in code, not just Figma. This means real interactions, real state, real feedback—faster.

Better Collaboration

Speaking both design and engineering languages means I'm a natural bridge between teams, reducing friction and misunderstandings.

No Translation Loss

When I design a component, I know exactly how it will be built. No "that's not technically possible" surprises during handoff.

Design System Ownership

I can own the design system from Figma tokens to React components, ensuring consistency across the entire product.

Get in Touch