Loading
Uncomfortable Truth: If frontend development feels hard, confusing, or exhausting — the problem is usually not React, CSS, or JavaScript. The problem is that you’re trying to design while coding.
Most developers open their editor and do this:
This loop feels like “frontend work”. It’s not.
It’s design work leaking into code, and code is a terrible place to explore ideas. Code is rigid. Design is fluid. Mixing the two makes everything slower.
When I say “designing” or “sketching”, I do not mean:
That’s overkill. Designing first simply means deciding:
You can do this with pen and paper, rough boxes, or a whiteboard. If you know the structure, the code becomes trivial.
Let’s be very direct. Without a design:
So every decision happens inside the code. That means constant rewrites, CSS fighting you, and components growing uncontrollably with "just one more div."
You’re not coding. You’re guessing.
A sketch answers questions like:
Once those questions are answered, frontend becomes implementation, not exploration. And implementation is easy.
Here’s something nobody tells beginners: You don’t “discover” components by coding. You see them by designing.
When you sketch, repeated patterns jump out. You know what deserves a component and what should stay dumb. Without a sketch, people either over-componentize everything or dump everything into one file.
Most CSS pain comes from this thought process:
“Let me try flex… no maybe grid… hmm margin here… wait this breaks mobile…”
That’s not a CSS problem. That’s a layout indecision problem.
When you sketch first, you know the axis, flow, and alignment. So CSS becomes predictable, minimal, and boring. Good CSS is boring CSS.
Frontend development has too many choices: colors, spacing, typography, layouts, animations. If you decide these while coding, your brain burns out fast.
Designing first offloads decisions. You already chose spacing and hierarchy. Now coding is mechanical. And mechanical work scales.
Hot Take: Sketching is often better than Figma in early stages. Figma invites perfectionism. Sketches force you to think in structure, not pixels.
People say: "I hate CSS" What they actually mean: "I hate constantly making visual decisions in code"
CSS isn’t hard. Indecision is hard. Design first removes indecision.
This is the flow I follow now:
Notice what’s missing: No redesigning in code. No random experimentation. Feeling comes from design, not code.
When structure is clear from the start:
You stop rewriting the same UI three times. That alone saves hours.
Frontend development is easy when the thinking is already done.
Designing and sketching moves thinking out of code, reduces decisions, and makes implementation obvious.
If frontend feels hard, stop coding earlier. Design first.
That’s it.