What I think about design (engineering)
Design has changed a lot this past year. I try to talk to designers every week while also trying to hire product designers for my team, so I wanted to note down my thoughts on AI-generated design, speed over craft, and where design ends and engineering begins.
Understand before I make something
I think we all get ahead of ourselves now, plugging Notion documents and recorded conversations into Claude to let her (I call Claude my girl) make decisions for us, but that's where the mistake is. How do I work through this? I start by thinking about the actual problem, what we're after, and the real constraints like timeline, feasibility, lift, etc., instead of starting with something I already like or what Claude recommends.
- Question my own assumptions and check direction early with co-founders and the C-suite, before I'm deep in it.
- Understand the code and the product before I touch either.
- Use AI to move faster, not to think for me.
- If I can't explain how something works and why it's right, it shouldn't be pushed to production.
Own the experience, not the handoff
I take responsibility from framing the problem through to production and what happens after it ships.
- I work across product, design, and engineering, so I prototype in whatever medium answers the question best.
- Code, interaction, content, docs, and support are all part of the same experience to reach the same solution.
- Stay involved until what ships matches what I intended.
Make trust effortless
Privacy, clarity, accessibility, and reliability have to be there from the start, not added on to the experience later.
- Hide complexity people don't need, never the consequences that matter.
- Make the safe choice the easy choice.
- Design for different abilities, skill levels, devices, and circumstances.
- Don't trade someone's trust for engagement or convenience.
Move fast by making less, better
When time's tight, I cut scope before I cut quality. I don't completely believe in the 90/10 rule, because there will come a time where the missing 10% comes back to bite you. It's important to scale down and do things properly.
- Ship the smallest thing that's complete and coherent.
- Know what has to be excellent now versus what can genuinely wait.
- I'd rather make real progress on one thing than leave five unfinished.
Finish the work
A happy path that works isn't the finish line. Again, no 90/10.
- Every state, edge case, word, transition, and response time matters.
- Accessibility, performance, and polish are the product, not extras.
- I plan time for the final pass, not just the build.
- I'll push back if a deadline would leave something visibly unfinished.
Make quality repeatable
Craft should compound over time, not depend on heroics.
- Turn the decisions I keep making into shared components, defaults, tools, and checks. This is why I built my MCP for the design system.
- Help engineers get better at design and designers get better at code. I'm a huge supporter of bringing engineers into the design world, because at the end of the day they don't always know how much design matters and how it works. It's important to close that knowledge gap and work together toward a better solution. Both sides should respect each other's knowledge.
- Share work early and explain my reasoning, not just hand over the result. Not everyone knows what's going on in my head (except my therapist).
- Leave people better equipped to do great work without me. I can't be the bottleneck, or my company's Sisyphus.
I use these principles when I'm planning projects, reviewing my own work, hiring, and deciding what to cut when priorities collide.
The one I lean on the most is the first two, understand before I make something and own the experience, not the handoff, especially right now given where our society and the tech we use are headed.
Honestly, these will probably keep changing as tech evolves and I grow. For now, this is how I want to work and what I want to hold myself to. Stay tuned for what changes.