design

Why we build every product on two typefaces

Font choice isn't decoration — it's the first thing people judge trust by, before they've read a single word. Here's how we pick one, and why we've standardized on the same pair across everything we ship.

Clients almost never ask us about fonts. They ask about the logo, the color, the layout — and then quietly judge the whole product on something they never mentioned. A site set in the wrong typeface reads as cheap or untrustworthy in about the time it takes to blink, long before anyone consciously registers why. Type is the part of design that works entirely below the surface.

So we treat it like a system decision, not a taste decision. Every product we ship, ours or a client's, is built on the same two-typeface pairing — one humanist sans for everything people read, one monospace for everything that's a label, a timestamp, or a piece of code. Here's the reasoning behind it.

You don't really choose a font. You choose how long it takes someone to decide whether to trust you.

01Legibility beats personality, every time

A typeface with a lot of character is fun in a mockup and exhausting at paragraph length. We rule out most options before we even get to taste, on a short list of unglamorous criteria that decide whether text is actually usable.

  • Characters that stay distinct at small sizes — capital I, lowercase l, and the digit 1 can't blur into each other in a table of numbers.
  • Full coverage of umlauts and ß — most of our clients and their users read German, and a font that mangles ä, ö, ü, or ß fails on day one.
  • A genuine weight range, not just bold switched on — interfaces need four or five real weights to build hierarchy without reaching for size and color every time.
  • A licence that lets us self-host the font files — more on why that matters below.

02One typeface, two jobs

You'll see Geist for everything a person reads — headings, body copy, buttons — and Geist Mono for everything that's data: timestamps, tags, prices, code. That split isn't decorative either. Monospace tells your eye "this is a value, not prose" before you've consciously parsed it, the same way a table's grid lines tell you where a row ends. Two typefaces, used consistently for two distinct jobs, read as more organized than five typefaces chosen for variety.

03We ship the font, not a request to Google

The easy way to add a font is a link tag to a third-party CDN, and it comes with a quiet cost: every visitor's browser makes a direct request to that CDN's servers, handing over an IP address and a user agent before a single word of your site has loaded. We host the woff2 files ourselves instead — same typeface, one less party in the room, one less thing to explain in a privacy policy. It's a small decision, but it's the same instinct behind everything else we build: don't hand a visitor's data to someone else by default, when keeping it in-house costs almost nothing.

Picking type for your own product and want it treated as a system, not an afterthought? Start a project

TypographyDesign SystemAccessibilityPrivacy