Typography
Typefaces
Aa—Aa
Inter Display
Aa—Aa
Geist Mono
Aa—Aa
Sentient
Inter Display
This is our workhorse typeface we use across our website, Docs and web apps. Its clean geometric design and optimized display features make text highly legible at all sizes. This translates quite well to on-screen performance, where the content draws attention than the letterforms themselves.
Geist Mono
Being an API platform means a heavy reliance on code snippets, and reference documentation, where show outweighs tell. Geist Mono is designed by Vercel specifically for code editors and terminals, performing brilliantly at low font sizes, and at displaying dense hieroglyphic symbols that is code.
Sentient
We also needed a sombre typeface that reflected our discreet pragmatism when it comes to our long-term vision, but also wasn't about blind dogma. Hence, Sentient. A contemporary serif with enough personality to mirror us—both grave and just flippant enough at the same time.
Type scale
We employ a custom type scale to proportionally graduate the body and heading sizes. We start with a base font size of 0.96em for body font.
The heading sizes are calculated using a power function—
let rootSize = 0.96let multiplierBase = 1.18// H1 = ~3.6em / ~56pxrootSize * Math.pow(multiplierBase, 8)}em// H2 = ~2.6em / ~40pxrootSize * Math.pow(multiplierBase, 6)}em// H3 = ~1.86em / ~28.5pxrootSize * Math.pow(multiplierBase, 4)}em// H4 = ~1.58em / ~24.2pxrootSize * Math.pow(multiplierBase, 3)}em// H5 = ~1.33em / ~20.5pxrootSize * Math.pow(multiplierBase, 2)}em// H6 = ~1.13em / ~17.3pxrootSize * Math.pow(multiplierBase, 1)}em// Body text 0.96em / ~15.36pxrootSize
Using this calculation, the scale outputs —
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Body text
Here, both rootSize and multiplierBase can be customised in the theme file.
Weights
To keep it simple, we use just two weights per typeface. Avoid Light, Thin and other variations lower than Regular on the weight scale.
Inter Display Regular 400
Inter Display SemiBold 600
Geist Mono Regular 400
Geist Mono Bold 600
Sentient Regular 400
Sentient Bold 600
Sizing
Keep the number of sized headings on any given page to a minimum. Try and avoid too many nested content sections.
H2
H4
Para
For most purposes, h2, h4 and p elements should suffice.