A practical guide for devs who want better UI without becoming designers.
Most developers donβt want to be designers β and thatβs fine. But a little design understanding can make your app feel 10x more professional with the same code.
Letβs get into it. π
1οΈβ£ Using Too Many Font Sizes
π Problem: Random sizes make the UI feel messy and unplanned.
/* β What devs often do */
h1 { font-size: 42px; }
h2 { font-size: 30px; }
h3 { font-size: 27px; }
p { font-size: 18px; }
.small { font-size: 15px; }
.tiny { font-size: 13px; }
β How to Fix
Use a scale and repeat it everywhere.
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
p { font-size: 1rem; }
2οΈβ£ No Spacing System
π Problem: Everything feels cramped or uneven.
β Fix
Use β¦
A practical guide for devs who want better UI without becoming designers.
Most developers donβt want to be designers β and thatβs fine. But a little design understanding can make your app feel 10x more professional with the same code.
Letβs get into it. π
1οΈβ£ Using Too Many Font Sizes
π Problem: Random sizes make the UI feel messy and unplanned.
/* β What devs often do */
h1 { font-size: 42px; }
h2 { font-size: 30px; }
h3 { font-size: 27px; }
p { font-size: 18px; }
.small { font-size: 15px; }
.tiny { font-size: 13px; }
β How to Fix
Use a scale and repeat it everywhere.
h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
p { font-size: 1rem; }
2οΈβ£ No Spacing System
π Problem: Everything feels cramped or uneven.
β Fix
Use a spacing scale:
4px β 8px β 12px β 16px β 24px β 32px β 48px
.section { padding: 24px; margin-bottom: 32px; }
3οΈβ£ Inconsistent Buttons
π Problem: Different borders, shadows, padding = unprofessional.
β Fix
Make a ruleset once β reuse everywhere.
button {
padding: 10px 16px;
border-radius: 8px;
font-weight: 600;
transition: 0.2s;
}
button:hover { opacity: .9; }
button:active { transform: scale(.97); }
4οΈβ£ Using Too Many Colors
π Problem: More colors β better UI.
π― Use 5 max:
Primary
Secondary
Background
Text
Accent
5οΈβ£ Ignoring Hierarchy
π Problem: Users donβt know what to look at first.
β Fix
Structure your content:
Big title = what
Subtitle = why
Normal text = details
<h1>Track expenses smarter</h1>
<p>AI categories every transaction automatically.</p>
<button>Get Started</button>
6οΈβ£ Centering Everything
π Problem: Center text = okay. Center paragraphs = painful.
β Fix
Center = headings, hero text
Left-align = paragraphs
7οΈβ£ Low Contrast Text
π Light grey looks pretty but is unreadable.
β Bad
color: #999;
β
Fix
color: #1a1a1a;
8οΈβ£ Inconsistent Icon Styles
π Mixed icon styles look amateur.
β Fix
Choose ONE library:
Lucide
HeroIcons
Feather
9οΈβ£ Full-Width Text
π Wide paragraphs tire the eyes.
β Fix
max-width: 65ch;
π No Visual Grouping
π Everything floats = no structure.
β Fix with:
Cards
Background blocks
Dividers
Padding + spacing
1οΈβ£1οΈβ£ No Interaction Feedback
π Buttons feel dead.
β Fix
button:hover { opacity: .85; }
button:active { transform: scale(.97); }
1οΈβ£2οΈβ£ Popups Everywhere
π Popups are not a navigation strategy.
β Fix
Use:
inline components drawers side panels
1οΈβ£3οΈβ£ Only Using Color for Errors
π Not accessible for color-blind users.
β Bad
Email invalid
β
Fix
<p class="error"><span>β οΈ</span> Invalid email format</p>
1οΈβ£4οΈβ£ Not Testing on Mobile First
π Desktop perfect β mobile usable.
β Fix
.container { width: 100%; }
@media (min-width: 768px) {
.container { max-width: 700px; margin: auto; }
}
π Final Thoughts
You donβt need to βbe a designer.β
You need:
β Rules β Consistency β Repeated patterns
β¨ Design isnβt decoration. Itβs decision-making.