Brand Book

Visual Language

The design system behind this site. Near-black warmth, CRT texture, teal accents, and clean structure.

Principles
Dark only

No light mode. Dark is the experience, not a preference.

Near-black warmth

Not true black, not gray. A warm near-black that takes the edge off without losing depth.

CRT texture

Film grain, scanlines, phosphor glow. Subtle enough to feel, not see. The retro layer is felt, not performed.

Mono as accent

Monospace fonts signal system, data, machine. Labels and values, not body text.

Colour means something

Teal is interactive. Everything else stays neutral. No decorative colour.

Clean structure

Solid borders with gentle radius. Information-dense without feeling cramped.

Typography

Body — Space Grotesk

The quick brown fox jumps over the lazy dog.

Sans-serif. Used for body text, navigation, and UI elements.

Headings — Playfair Display

The quick brown fox jumps over the lazy dog.

Serif. Used for page titles, section headings, and blog post headers.

Labels — Geist Mono

The quick brown fox jumps over the lazy dog.

Monospace. Used for terminal labels, tags, code, and data values. Always uppercase with letter-spacing.

Colour System

Minimal by design. Neutrals do the heavy lifting, teal carries the interaction.

Surfaces

Background
#0f0e0e
Card
#171614
Card Hover
#1f1e1b

Text

Foreground
#C5C9C5
Muted
#737C73
Border
#2e2d2b

Accent

Accent (Teal)
#5bb8b8
Accent Hover
#72cece
Accent Gold
#7AA89F
CSS Tokens
TokenValue
--background#0f0e0e
--foreground#C5C9C5
--card#171614
--card-hover#1f1e1b
--border-color#2e2d2b
--accent#5bb8b8
--accent-hover#72cece
--accent-gold#5aada0
--muted#737C73
Components

Terminal Label

Section title

Geist Mono, uppercase, 0.25em letter-spacing, teal accent. Prefixed with > via CSS pseudo-element.

Tag Pills

buildsnext.jsmetatools

Geist Mono, 0.7rem, subtle border with radius, muted text. Hover transitions to accent colour.

Ornamental Divider

Section

Solid lines flanking a centered label. Geist Mono, teal.

Card

Project

Card Title

Description text goes here. Solid border, subtle radius, card background.

Solid border, subtle radius, card background. Hover state transitions to card-hover.

CRT Phosphor Glow

Testing in Production

Teal text-shadow at 10px, 40px, and 80px radii. Applied to the hero typewriter and site title.

Retro Layer

Subtle texture effects applied globally via CSS pseudo-elements. These sit on top of the entire page at near-zero opacity — invisible until you look for them.

Grain

SVG fractal noise pattern via body::before. Opacity 0.025. Adds analog warmth to flat surfaces.

Scanlines

Repeating 2px gradient via body::after. Barely visible horizontal lines that evoke CRT monitors.

Glow

Teal text-shadow at 10px, 40px, and 80px radii. Applied to the hero typewriter.

Built with Next.js 16, Tailwind CSS v4, and a CRT that never fully turned off.