Introduction
There's a version of web design that looks impressive in a portfolio screenshot and a version that actually works for real people in real situations. The gap between those two things is where UI/UX design lives.
I've spent many time working on websites and digital products for clients across different industries, and one thing that never changes is this: the best-looking interface in the world will fail if users can't figure out how to use it. Aesthetics matter, but they have to be in service of clarity, not in competition with it.
In this article, I want to share the UI/UX principles I come back to on every project, not as abstract theory, but as practical guidance you can apply to your own work.
1. Design for the User, Not for Yourself
This sounds obvious, but it's the most consistently violated principle in design. When we design, we naturally draw on our own preferences, our own mental models, our own sense of what looks good. The problem is that we're not the user.
Your users have different levels of technical literacy, different screen sizes, different contexts (some are distracted, some are in a hurry, some are using assistive technology). Designing for yourself means designing for one specific person in one specific situation. Designing for your user means understanding a much wider range of contexts and needs.
How to put this into practice:
- Talk to real users. Even informal conversations with 5 people will reveal assumptions you didn't know you were making.
- Watch people use your product. Where do they hesitate? Where do they get confused? Where do they give up?
- Build user personas. Not as a box-ticking exercise, but as a genuine attempt to understand who you're designing for and what they need.
- Question every design decision. Ask not "does this look good?" but "does this help my user achieve their goal?"
2. Hierarchy is Everything
Visual hierarchy is the most fundamental tool in a UI designer's kit. It's how you communicate to users what matters most, what to look at first, and how to move through a page or screen.
When hierarchy is clear, users navigate effortlessly. When it's absent or confused, users feel lost, even if they can't articulate why.
The main levers for creating hierarchy are size, weight, colour, spacing, and position. A larger element draws the eye first. A bolder typeface carries more weight. A high-contrast colour stands out from its surroundings. Generous spacing around an element elevates it. Position at the top or centre of a layout commands attention.
Common hierarchy mistakes to avoid:
- Making everything the same size, which means nothing stands out
- Using too many competing accent colours, which creates visual noise
- Putting the most important action in an unexpected or low-visibility location
- Over-relying on typography alone without supporting spatial hierarchy
Before you design anything, decide: what is the single most important thing a user needs to understand or do on this page? Build the hierarchy around that answer.
3. Reduce Friction Wherever You Can
Friction is anything that slows a user down, confuses them, or requires more effort than necessary. Every extra click, every ambiguous label, every form field that asks for information you don't really need, all of these are friction. And friction kills conversions.
This doesn't mean making everything a single click or removing all complexity. Some tasks are inherently complex, and trying to oversimplify them creates different problems. But it does mean auditing your designs relentlessly for unnecessary friction.
Practical friction-reduction techniques:
- Shorten forms. Ask for the minimum information you actually need. Every additional field reduces completion rates.
- Use sensible defaults. Pre-fill what you can. Reduce the cognitive load of decision-making.
- Write clear labels and microcopy. "Submit" tells the user nothing. "Send my message" tells them exactly what happens next.
- Make error messages helpful. Don't just say "invalid input", tell the user what went wrong and how to fix it.
- Ensure interactive elements look interactive. Buttons should look like buttons. Links should look like links.
4. Consistency Builds Trust
Consistent design is more than an aesthetic choice, it's a usability principle. When a user learns how something works in one part of your interface, they expect it to work the same way everywhere else. When it doesn't, they feel disoriented and lose confidence in the product.
Consistency applies at multiple levels:
- Visual consistency: colours, typography, spacing, iconography should follow a unified system across all pages and states.
- Interaction consistency: similar actions should work the same way, if clicking a card on one page navigates to a detail view, the same should happen on other pages.
- Language consistency: use the same terms throughout, don't call something a "project" in one place and a "brief" in another.
- Pattern consistency: use familiar UI patterns for common interactions (navigation, modals, form validation) rather than reinventing them unnecessarily.
This is one of the strongest arguments for building a design system early in a project. Consistency at scale becomes very difficult to maintain without a shared library of components, tokens, and guidelines.
5. Accessibility is Not Optional
Designing accessibly means designing for everyone, including people with visual, auditory, motor, or cognitive impairments. In the EU, it's also a legal requirement under the European Accessibility Act, which comes into force in June 2025.
But beyond compliance, accessibility is simply good design. Many accessibility improvements, better colour contrast, larger tap targets, clearer labels, keyboard navigability, make the experience better for all users, not just those with specific needs.
Key accessibility considerations for UI/UX:
- Colour contrast: ensure text meets WCAG 2.1 AA standards (4.5:1 for normal text, 3:1 for large text).
- Focus states: make sure interactive elements have visible focus indicators for keyboard users.
- Alternative text: all meaningful images should have descriptive alt text.
- Touch targets: interactive elements on mobile should be at least 44x44px.
- Reading order: the visual layout should match the logical reading order in the HTML.
- Plain language: write for comprehension, not complexity.
6. Test Early and Test Often
No design is finished until real users have tried to use it. This is probably the most under-practised principle in the industry, partly because testing takes time and partly because receiving feedback on your work can be uncomfortable.
But the cost of not testing is much higher. Fixing usability problems after launch costs significantly more, in time, money, and reputation than catching them in a wireframe or prototype.
You don't need a formal usability lab to do useful testing. Five users, a prototype, and a list of tasks is enough to surface the most significant problems. What you're looking for isn't whether people like the design, it's whether they can use it.
Testing approaches at different stages:
- Early stage: test your information architecture with card sorting or tree testing.
- Mid-stage: test wireframes or low-fidelity prototypes to validate flows and structure.
- Late stage: test high-fidelity prototypes to validate visual design and interaction details.
- Post-launch: use analytics and session recordings to identify where real users are struggling.
7. Design for Mobile First
More than 60% of global web traffic now comes from mobile devices. Despite this, many designers still default to designing desktop layouts first and then adapting them for smaller screens. This approach often produces mobile experiences that feel like afterthoughts, because they are.
Mobile-first design forces you to make hard prioritisation decisions early. On a small screen, you can't hide complexity or rely on hover states. You have to decide what's truly essential and design around that.
When you then adapt the mobile design to desktop, you're adding features and space rather than removing them. The result is usually a more focused, higher-quality experience at both breakpoints.
Mobile-first principles:
- Design the mobile layout before the desktop layout.
- Prioritise content ruthlessly, if it doesn't belong on mobile, ask whether it belongs at all.
- Use touch-friendly interaction patterns: tap, swipe, pinch, not hover.
- Test on real devices, not just browser resize tools.
Conclusion
Good UI/UX design isn't about following trends or making things look beautiful for their own sake. It's about understanding people, how they think, what they need, where they get confused and then building interfaces that work in service of those people.
The principles I've shared here are ones I return to constantly. Some projects push back on them, some clients question them, but they hold up because they're grounded in how human beings actually perceive and interact with digital products.
If there's one thing to take away, it's this: always be asking "does this work for my user?" Not "does this look good to me?" or "is this technically impressive?" but does it actually serve the person on the other side of the screen.
That's the question that separates design that looks good from design that works.
Feel free to reach out if you'd like to discuss any of these principles or how they apply to your specific project. 😉
