A stranger lands on my site. Before they read a single word of copy, a typeface has already told them something. The display font looks like it came off a receipt printer. Industrial. Mechanical. Not trying to be beautiful. That typeface is called Chainprinter, and it’s doing more work than anything I’ve written underneath it.

It says: this person makes things.

That communication happens in the first half-second. Before the visitor processes a headline, before they scroll, before they decide to stay or leave. The typeface has already positioned everything on the page as craft, not polish.

I learned this at SVA. The primary job of a designer is visual communication. Not decoration, not self-expression. Communication. And typography is the primary vehicle. What a typeface says before you read a single word is the first and most important design decision on any page.

Three fonts. That’s it.

My site uses three typefaces. Rubik for body copy. Chainprinter for display. Space Mono for code and technical content. I locked these early and I don’t browse Google Fonts looking for alternatives.

The constraint is deliberate. Most designers I know (myself included, for years) treat font selection as an open question on every project. You browse specimens. You pair and re-pair. You audition ten options for a heading that three people will read. The browsing feels like design work. It’s deferral.

Locking three fonts forces a different question. Instead of “which typeface fits this content?” the question becomes “what is each typeface’s job?” And that’s an ideological question, not an aesthetic one.

What each font does

Chainprinter is industrial. It references label makers, dot-matrix printers, shop floor signage. When it appears above a case study or a methodology page, it frames what follows as something built, not something theorized. I use it for every display heading on the site. It’s the strongest identity signal I have.

Rubik is clean without being sterile. Geometric sans-serif, slightly rounded, high readability at body sizes. It says “approachable” without saying “casual.” The body copy should get out of the way and let the ideas land. Rubik does that. It doesn’t perform.

Space Mono is technical. Monospaced, designed for code. When it appears, it signals the engineering side of the work. Configuration snippets, system architecture, protocol definitions. The reader knows they’ve crossed into a different register because the typeface changed.

The combination of the three is the identity. Industrial plus approachable plus technical. That’s the room. A stranger who sees all three on a single page gets a compressed version of the positioning before they’ve read a paragraph of body copy.

Most sites get this backwards

The default approach treats typography as a style decision. You pick fonts that look good together. You match the mood. You find something “elegant” or “modern” or “bold.” The typeface decorates the content.

But typography is a communication decision. Every typeface carries associations, and those associations do positioning work whether you intended them to or not. A site set in Playfair Display says something different from a site set in Inter, and neither of those says what Chainprinter says. If you’re choosing fonts for beauty, you’re letting the most powerful communication tool on your page operate without direction.

Herb Lubalin understood this. Typography as idea. The type doing something, not just labeling. He treated letterforms as content, not containers. I’m not doing what Lubalin did. But I took the principle seriously: if the type isn’t communicating, it’s just sitting there.

The ideology

Three fonts locked. Each one has a job. The combination builds a room. The constraint eliminates browsing and forces commitment.

That’s the ideology: typography is a design decision with consequences, and those consequences start before anyone reads your copy. The font choice is the first thing a visitor processes and the last thing most designers think about. I think about it first. Everything else follows from what the typeface already said.