Skip to content

Typography

Typefaces

Two typefaces are used across the entire platform — one humanist sans-serif and one monospaced.

Inter — Primary Sans

PropertyValue
FamilyInter
SourceGoogle Fonts
CSS Variable--font-family-sans
Tailwind Classfont-sans
UsageAll body copy, headings, navigation, form labels

Inter was chosen for its exceptional legibility at small sizes and its neutral authority — it reads as precise and professional without being corporate-bland.

JetBrains Mono — Monospace

PropertyValue
FamilyJetBrains Mono
SourceGoogle Fonts
CSS Variable--font-family-mono
Tailwind Classfont-mono
UsageCode snippets, token values, the [BJ] logo monogram, stats/numbers

The monospaced type reinforces the technical, hacker-adjacent brand identity. Used sparingly outside of code contexts, it adds a signature edge.

Token Source

packages/config-tailwind/theme.css
@theme {
--font-family-sans: var(--font-sans), system-ui, sans-serif;
--font-family-mono: var(--font-mono), monospace;
}

The --font-sans and --font-mono CSS variables are injected at the app level by Next.js next/font — each app sets these once in its root layout.

apps/www/app/layout.tsx (example)
import { Inter, JetBrains_Mono } from 'next/font/google';
const inter = Inter({ subsets: ['latin'], variable: '--font-sans' });
const mono = JetBrains_Mono({ subsets: ['latin'], variable: '--font-mono' });

Type Scale

The scale uses Tailwind’s default modular type utilities. No custom scale is defined — standard Tailwind sizing covers all current UI needs.

StepClassSizeLine HeightUsage
xstext-xs12px16pxLegal text, badges, meta labels
smtext-sm14px20pxSecondary body, captions, table cells
basetext-base16px24pxPrimary body copy
lgtext-lg18px28pxLead paragraphs, card bodies
xltext-xl20px28pxSub-headings, service card titles
2xltext-2xl24px32pxSection headings (h3)
3xltext-3xl30px36pxPage headings (h2)
4xltext-4xl36px40pxHero sub-headings
5xltext-5xl48px1Hero headings (desktop)
6xltext-6xl60px1Display headings

Weight Conventions

WeightClassUsage
400 Regularfont-normalBody copy
600 Semiboldfont-semiboldButton labels, nav links, card titles
700 Boldfont-boldSection headings, emphasis

Letter Spacing

ContextClassUsage
Tighttracking-tightLarge display headings
Normaltracking-normalBody copy
Widetracking-wideButton labels, uppercase labels
Widertracking-widerAll-caps section labels, table headers

All-caps Labels

Section labels and badge text use uppercase with tracking-wider:

<span class="text-xs font-semibold tracking-wider uppercase text-brand-red">
Featured In
</span>

Heading Hierarchy

h1 → text-5xl font-bold tracking-tight (page title / hero)
h2 → text-3xl font-bold tracking-tight (major sections)
h3 → text-2xl font-semibold (sub-sections, card titles)
h4 → text-xl font-semibold (minor headings)