The Designer’s Hand: Why Craft in Code Is Your Strongest Design Argument

How invisible choices in code prove that building is designing

Every line of code contains a design decision.

This was the truth I held onto back when the web was still new and experimental, a time when I found myself bridging two worlds. Most designers approached this new medium with trepidation—ad agencies didn’t even have web departments. While others saw uncertainty, I saw opportunity: the chance to design directly in the medium itself, handcoding websites and customizing WordPress themes when few designers were touching code.

Some called me “more of a builder” than a designer. They were looking for design in the wrong place.

The Typography That Validated My Path

In 2006, when Oliver Reichenstein declared “Web Design is 95% Typography,” it felt like vindication. He articulated what I had been practicing all along:

“It is the web designer’s task to divide up and organize and interpret this mass of printed matter in such a way that the reader will have a good chance of finding what is of interest to him.”

Reichenstein understood what my colleagues missed: typography happens in code. When you set line-height: 1.6, you’re not just writing CSS; you’re making a typographic decision about readability. When you choose max-width: 65ch, you’re applying centuries of typographic wisdom. These aren’t technical details—they’re the essence of design.

Before Figma, Before CSS3: Designing in the Trenches

When I was building client sites in the 2000s, there was no Figma. Designers worked in layered PSDs, obsessing over beveled or glassy buttons—effects CSS couldn’t yet handle. They were mastering static visual design, while I was focused on the dynamic reality of the web.

My perspective was shaped by being immersed in the emerging digital culture. I devoured every issue of Wired and Canada’s Shift magazine—a pioneering publication that explored the intersection of technology and culture—and studied early web strategy books like Writing for New Media and Getting Hits: The Definitive Guide to Promoting Your Website—which argued that “just building a world-class web site doesn’t mean people will come flocking through your door.” This was the ecosystem I was learning from.

Don’t Make Me Think by Steve Krug was first published in 2000. The book’s premise—that a good software program or web site should let users accomplish tasks as easily as possible—was preaching to the choir. I was an early adopter of user-centered design principles, thinking about usability and information architecture long before “UX designer” was a job title. (Back then, we were called webmasters.) This forward-thinking approach was in my nature—I was the person ripping CDs to MP3 when many people didn’t own a computer yet.

This mattered because the principles of clarity and usability I championed then are the same ones that define thoughtful design today. While the tools have evolved from WordPress to Webflow, from PSDs to Figma, the fundamental questions remain: Is it clear? Is it usable? Does it serve the user?

But I cared about the decisions that shaped the user’s experience, then as I do now:

  • Searchable text → not flattened into JPGs
  • Fast download times → not bloated 2MB background textures
  • Accessibility → alt text, titles, and semantic markup
  • Navigation clarity → making sure users always knew where they were
  • Good link writing → no “click here,” just clear, noun-based anchors
  • Cross-platform typography → Helvetica for Mac, Arial for PC

When clients handed me pages of FAQs, I enforced the three-click rule so information was never buried too deep. Long before UX was trendy, I called myself an information designer.

The Hidden Design Decisions in Every Property

The dismissal of coding as “just building” reveals a fundamental misunderstanding of design. Consider what happens when you write:

.container {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

This isn’t just code—it’s a series of design decisions:

  • display: grid = “I’ve chosen a two-dimensional layout system”
  • gap: 2rem = “This spacing creates the right visual rhythm”
  • minmax(300px, 1fr) = “Content should breathe but adapt to space”

When you use a template, these decisions are made for you. When you write the code, you’re doing the actual design work.

Information Design as Real Design

If Reichenstein was right that web design is 95% typography, then we can take it a step further: If typography is the design of text, then HTML and CSS are typography at scale—structuring, spacing, and styling the information of the web.

That is design.

Deciding what loads quickly is a design choice. Choosing alt text that describes images is a design choice. Crafting navigation labels that anticipate the user’s next step is a design choice. Understanding that styling a <div> to be large doesn’t mean Google gives it more weight in the algorithms—that’s a design choice.

These weren’t just technical details. They were decisions about how people and machines experienced information.

The Vindication of Craft

Looking back at the two articles that preceded this one, I see a through-line that validates this path:

In “The Future Belongs to Designers Who Can Build Their Own Magic,” I argued that code isn’t restrictive but profoundly creative. In “Why the Cycle of Cool Makes CSS Your Most Valuable Design Skill,” I showed how fundamental skills outlast fleeting trends.

Now I’ll add this: the ability to make design decisions in code is the ultimate proof of your design thinking.

Your Hand, Your Design

Next time someone implies that building makes you less of a designer, remember: every padding adjustment is a layout decision. Every color value is a brand expression. Every font-weight is a hierarchy choice.

The templates and no-code tools that promised to liberate designers have instead created a separation between decision-making and execution—where designers can arrange components without always understanding the design thinking that created them.

But you? You understand that margin: 0 auto isn’t just centering a div—it’s creating visual balance. That position: sticky isn’t just a CSS property—it’s a user experience strategy. That semantic HTML isn’t just for accessibility—it’s for meaningful structure.

Your ability to design in code isn’t a limitation—it’s your strongest design argument. Because when you can envision the solution and build it with intention, you’re not “just a builder.”

You’re a designer in the truest sense of the word.


Posted

in

by

Tags: