Design Learnings & Principles
A living collection of wisdom from opinionated mentors, teachers, and personal design observations accumulated over the years.
Foundational Principles
”A cow can like something, WHY do you like this design?”
The reminder that taste without reasoning is meaningless. As designers, we need to articulate the why behind our decisions—not just say we like something, but explain what makes it effective.
”Always clean your computer screen before a critique or presentation”
The small details matter. If your screen is dirty, you’re asking people to judge your work through literal smudges. Respect your work and your audience enough to present it properly.
”Auto kerning is the same as no kerning”
A provocative statement that challenges designers to actually look at typography instead of relying on defaults. Auto kerning is a starting point, not a finish line.
”Even Arial can be fun, don’t depend on typefaces”
Good design isn’t carried by trendy typefaces. A skilled designer can make even the most mundane font work beautifully. The typeface is a tool, not a crutch.
”Helvetica is a typeface, bold is a font... why does everyone call web type fontfamily?”
Precision in language reflects precision in thinking. Understanding the difference between typeface, font, and family isn’t pedantic—it’s about knowing your craft.
Design Journal
March 13
Leadership is less about checkmarks and more about the outcomes and impact
As designers move into leadership roles, the metrics change. It’s not about completing your own tasks anymore—it’s about ensuring the right outcomes happen through your team.
Key realizations:
- Build in sharing, build in checkmarks, build in awareness of the reality of the job: Make progress visible, but remember that visibility isn’t the same as impact
- Dependent on other people getting their checkmarks: You’re no longer in full control of execution—your success depends on enabling others
- You control “did I do the thing,” but not if what you wanted to happen actually HAPPENED: There’s a gap between completing tasks and achieving outcomes
The critical question: Do the tasks my team is working on help them see the bigger picture? Do they understand the outcome I actually need, not just the task in front of them?
December 6
Staying present while being Accountable, not responsible
When working with junior designers, being accountable doesn’t mean signing off and disappearing from meetings. Being accountable means you are present, aware, and constantly supporting the team, maintaining client-facing confidence while empowering your team to grow.
Accountability is active engagement, not passive approval.
Giving company-wide presentations
Be mindful of tone when addressing negative situations. Don’t treat it like a personal vent or therapy session—use discretion while staying transparent.
Always ask: How does this serve the broader team?
When you need support, be specific
Working on tasks that involve others? Be specific and set expectations for what you need to be supported.
Vague requests get vague responses. Specific asks get real help.
Busy people are busy
Give context, reduce clicks, and set up real-time huddles.
Instead of sending a link to a backlog, include a few example items from that backlog in a Slack message so they’re visible right away. Respect people’s time by making your ask as frictionless as possible.
When you are on the bench, set clear goals
Bench time can be extremely productive, but you need to be clear about how you’ll use that time and how it benefits the team.
Ask yourself: What can the team expect from me after 2 weeks of bench time?
Set clear, achievable goals. Don’t waste unallocated time—use it intentionally.
Coding as a designer
The visual layer isn’t the only consideration. Be mindful of how things we design in the browser impact:
- Performance: Does this design create unnecessary rendering or load?
- Non-visual users: How does this work for keyboard users? Screen readers?
- DOM complexity: Multiple elements in the DOM can cause issues
Learn from your mistakes and always accept feedback. Review the PRs of others—it’s one of the best ways to learn how your designs translate to code.
Designing components with lots of complexity in React
In React, it’s best to split large components into sub-components and avoid re-rendering.
Component architecture isn’t just a development concern—it affects performance, maintainability, and how well your designs scale. Think in systems, not just screens.
On Continuous Learning
This document is a living collection—it will grow as I learn, as mentors share wisdom, and as experience reveals new truths about design practice, leadership, and craft.
The best designers are perpetual students.

