Design Is More Than Code
firaflash
Designing with code keeps coming up as a debate—but focusing only on tools misses the real point.
The real question isn’t “Should designers code?”
It’s how design decisions are made and what we risk losing if everything starts and ends in code.

Concept: Evolution of a design idea
Sketch → Concept → Interface → Shipped Product
Reference:
- Figma blog illustrations
- Linear blog visuals
- Simple flow diagram (boxes + arrows)
Design Starts With the Problem
Good design doesn’t start with screens or code.
It starts by questioning the problem itself.
- Is this actually a real problem?
- Who defined it?
- What happens if we don’t solve it?
Many projects fail not because the solution is bad, but because people were solving different problems without realizing it.

Concept: “Assumed problem vs actual problem”
Stakeholders pointing in different directions
Reference:
- Design thinking diagrams
- Product discovery visuals
Concept First, Execution Later
Design happens in two stages:
- Conceptual design
- Deciding the form, intent, and direction
- Execution
- Turning that idea into something real (often with code)
Code is powerful—but if you jump into it too early, it can lock you into decisions before the idea is fully understood.

Concept: Two-layer diagram
Top: Intent, vision, abstraction
Bottom: UI, code, constraints
Reference:
- UX process diagrams
- Product lifecycle visuals
Example: Projects in Software Tools
Take “projects” in a product tool.
They could be:
- A label
- A folder
- Or a first-class feature
Each option works—but the right choice depends on what you believe projects mean to users.
At Linear, projects were treated as a core unit of work. That belief shaped the entire product.

Concept: Three representations of “projects”
Label vs folder vs dedicated entity
Reference:
- Simplified UI mockups
- Product comparison diagrams
Where Code Fits (and Where It Doesn’t)
Code is essential—but not everything should be decided inside it.
Even engineers step away from code to:
- Draw diagrams
- Reason about trade-offs
- Explore ideas safely
Designing directly in production code by default risks losing intention, exploration, and clarity.
The Real Risk
The danger isn’t new tools or AI.
It’s losing patience for thinking.
When output becomes more valued than intent, we get faster—but less thoughtful—products.
Design isn’t about buttons or tools.
It’s about choosing the right problem, with the right intent, toward a clear vision.