David Heinemeier Hansson

June 29, 2023

Design for the web without Figma

By all accounts, Figma has been an amazing tool for designers. We've used it extensively at 37signals, and I'm sure most every other software shop has too. Adobe didn't pay $20 billion for nothing. But we don't do the bulk of our design work with or in Figma when developing Basecamp or HEY for the web. That's all done directly in HTML and CSS, as it should be.

Because no matter how good Figma is, it's an intermediary abstraction, like Photoshop before it. If you're working with the web, you'll work faster without such an abstraction layer in the design process filtering the collaboration between programmer and designer.

This is perhaps the biggest, open secret to the productivity and viability of our two-person teams at 37signals. All our web designers work directly with the native materials of HTML, CSS, and usually even a fair bit of JavaScript and Ruby. The design process and its iterations flow through updates to the real code that runs the real app, and, as quickly as possible, against real data.

It seems that this isn't the common path for many software companies. I frequently hear about processes where designers work like did they when I first started out with the web. Designs happen in the abstraction layer, and are then handed to programmers to "make real". Occasionally justified with the same argument I heard back in the late 90s for throwing Photoshop files over the wall for programmers to implement: You can be more creative if you're not constrained by what it takes to make it happen.

I think that's exactly the wrong conclusion. Creativity thrives on constraints. Knowing how to cut with the grain makes getting the most out of the material much easier. While we've thankfully moved on from the pixel-perfect nonsense, with its spacer gifs and rounded corner images, the no-constraints thinking of today still exists in that mind space.

Having your designers become proficient with the materials of the web needn't require they become oracles of front-end development. But they should aim to become self-sufficient in wielding the tools of the trade. And treat improving their skills with HTML, CSS, JavaScript, and perhaps even the backend language as a key plank in their career progression.

In a web world that's increasingly been subdividing its expertise into ever smaller specialities, that might sound like a bit of a unicorn quest: Great designers that can also make their creations real? Good luck finding THAT! And yet we have, repeatedly, at 37signals, and we're drawing huge dividends in productivity from doing so.

Leave Figma to the early conceptual stages of web design. Or put it to good use for native mobile development, when you rarely have a choice. But embrace doing the bulk of the design for the web directly in the core elements of its periodic table.

About David Heinemeier Hansson

Made Basecamp and HEY for the underdogs as co-owner and CTO of 37signals. Created Ruby on Rails. Wrote REWORK, It Doesn't Have to Be Crazy at Work, and REMOTE. Won at Le Mans as a racing driver. Fought the big tech monopolies as an antitrust advocate. Invested in Danish startups.