# Daniel Welsh Personal Brand Kit. Machine-readable

For agents: this file is the source of truth for building anything for
**Daniel Welsh** the person. Reels, carousels, the books, the founder
pages, slide decks, talks, LinkedIn.
Fetch it, follow it exactly, don't improvise around it.

Human version with specimens: https://labs.routiq.ai/brand-kit/daniel
Index of all brands: https://labs.routiq.ai/brand-kit/BRAND.md

> Building the company, the product, Robyn or Abby instead? That's a
> different kit: https://labs.routiq.ai/brand-kit/routiq/BRAND.md — same
> ground, same body type, different display face and accent.

## Identity

- The handle is **`@danielwelsh_routiq`**. Underscore *between* the name
  and routiq, never trailing. Same on Instagram and LinkedIn.
- The name is written **Daniel Welsh**. Not "Dan", not "danielwelsh." with
  a period. The period belongs to the company, not the person.
- Positioning, locked 2026-07-19: **"the system above vibe coding."**
  Vibe coding gets you a demo. Daniel runs a business on AI-written code
  and teaches the system that closes the gap. The proof is a company, not
  a portfolio.
- Four content pillars: (1) spec before prompt, (2) the harness,
  (3) demo → production, (4) AI in production.
- **routiq. is the credential, not the subject.** When the company appears
  in personal-brand work it appears as the real logo SVG at small size,
  under the same rules as the routiq. kit. It never becomes the headline.
- Banned framings, do not revert to them: "vertical AI agents in regulated
  industries", "3 circles of expertise", "bounded autonomy" as the primary
  frame, "behavioural science × app UX" as the headline, "app design" as
  the headline.
- **"Vibe coder" is never an address term.** The positioning holds, the
  label doesn't. Name what the reader has built instead of labelling them.

## Colors. Shared ground, own accent

| Name | Hex | RGB | Role |
|---|---|---|---|
| Core | `#1a1c12` | 26, 28, 18 | Primary text, dark backgrounds |
| Cloud | `#ededeb` | 237, 237, 235 | Backgrounds, light text on dark |
| Indigo | `#1d2340` | 29, 35, 64 | **The founder accent.** Markers, rules, founder sections |
| Prompt | `#7ba2e0` | 123, 162, 224 | CTAs, links, data points |
| Blackberry | `#472424` | 71, 36, 36 | Secondary dark, kickers |

**Indigo `#1d2340` is this brand's accent, in the slot Clay holds for
routiq.** Clay `#C98B7A` is the company's, not Daniel's. Don't mix them.
Energy `#7d312d` is retired from new work in both kits.

### Approved combinations

1. Cloud text on Core background
2. Core text on Cloud background
3. Cloud text on Indigo background
4. Prompt text on Core background
5. Indigo text on Cloud background

### Headline emphasis. Never a text colour

**This is the one place the two kits genuinely diverge, and it is a
consequence of the font, not a preference.** routiq. whispers emphasis
with italic. **Raptor ships no italic cut** — only Black 900 and Bold
700. An `<em>` in Raptor is a browser-synthesised slant, and a faked
oblique is not a brand asset. So weight carries the whisper instead:

- **Default (the whisper):** set the headline in Raptor **Bold 700** and
  the emphasised word in **Black 900**. Same ink, no colour change, no
  italic.
- **Heroes, covers, thumbnails (the point):** Black 900 throughout, with
  an Indigo marker-stroke under the word.
  `box-shadow: inset 0 -0.16em 0 0 rgba(29,35,64,0.85)`.

A colour-painted headline word is banned here too.

Body copy is a different matter. Acid Grotesk and Hanken both ship real
italics, so *italic inside a paragraph is fine.* The ban is on faking one
in a Raptor headline.

## Typography. Raptor leads

The display face is the whole difference. Same body, same UI, same
numbers as the company. **A reader should know which brand is speaking
from the headline alone.**

| Role | Font | Weights | Get it |
|---|---|---|---|
| Headlines, covers, end cards | **Raptor V3** | Black 900, Bold 700. **No italic cut exists** | Licensed. In the repo at `public/fonts/RaptorV3-Black.otf` and `RaptorV3-Bold.otf` (`--font-raptor`) |
| Editorial body. Prose, support lines, pull quotes | **Acid Grotesk** | Light 300 | Licensed. `public/fonts/acid-grotesk-light.otf` (`--font-acid-grotesk`) |
| UI. Labels, tags, buttons, chrome | **Satoshi** | 300–700 (500+ for labels) | fontshare.com/fonts/satoshi |
| Data & numbers. Stats, commit counts, dates, the handle | **JetBrains Mono** | 400, 500, 700 | fonts.google.com/specimen/JetBrains+Mono |

- **Raptor V3 is the personal display face and only the personal display
  face.** Zodiak Black belongs to routiq. Never swap them.
- **Raptor is always tracked tight.** Its default spacing reads loose and
  corporate at display size. Set headlines as one dense block:

  | Size | `letter-spacing` |
  |---|---|
  | Hero / cover (48px and up) | `-0.045em` |
  | Section heads, sub-heads, card titles (24–40px) | `-0.025em` |
  | Below 24px | `-0.01em`, or leave it alone |

  Never track Raptor positive, and never letterspace it open for effect.
- **Raptor is heavy on the wire.** Each cut is roughly 345 KB of OTF
  against Zodiak's 39 KB woff2. Load only the cuts a surface actually
  uses, and don't pull Raptor into a page that has no headline in it.
- Raptor is licensed and on no free CDN. Agents inside Routiq repos load
  it locally as `--font-raptor`. The documented fallback chain, already
  live in `src/app/globals.css`, is
  `var(--font-raptor), var(--font-inter), ui-sans-serif, system-ui, sans-serif`.
  Fall back down that chain rather than substituting another display face.
- Google Fonts import (JetBrains Mono + Hanken, the body fallback):
  `https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Hanken+Grotesk:wght@300&display=swap`
- Fontshare import (Satoshi, free):
  `https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,700&display=swap`
- Acid Grotesk unreachable: fall back body → Hanken Grotesk 300 (Google)
  → Satoshi 300.
- **The handle is always set in JetBrains Mono.** It is data, not a
  wordmark. Never set it in Raptor.
- **Retired here:** Playfair Display 900 (was the V3 headline face until
  2026-08-21), Zodiak (company only), Inter as anything but a fallback.

### The terminal book exception

The books (`danielwelsh.sh`, *The 80% Wall*) run their own documented
system: near-black `#0d0f0c` ground, `#F5F0EB` text, monospace for
anything "machine" and Georgia serif for human prose, indigo `#1d2340` on
blockquote rules. The contrast is the point. Full spec:
`docs/personal-brand/BOOK-DESIGN-GUIDE.md`.

## Marks

There is no personal logo, and one should not be invented. The three
things that stand in for one:

| Mark | How |
|---|---|
| The handle | `@danielwelsh_routiq`, JetBrains Mono, 500–600, tight tracking |
| The routiq. logo | Real SVG from `https://labs.routiq.ai/brand-kit/logos/`, small, as a credential |
| The indigo rule | A 1–2px indigo hairline above founder sections and email signatures |

Never type "routiq." in a font. Never build a "DW" monogram.

## Voice

Educational-first. Evidence over hype. Plain words a 12-year-old follows.
Short sentences. **No em dashes, anywhere** — write full stops instead.
(En dashes inside number ranges like 300–700 are fine; that's typography,
not prose.)

**The claim gate:** every number is one Daniel can show. Visible commits,
shipped repos, live customers. No hours claims, no revenue implications,
no "I built X in Y days" unless the receipt exists. If a figure is
modelled, it gets labelled as modelled.

Hooks: verification hooks travel, curiosity hooks don't. Lead with the
thing, not the keyword. One idea per piece.

## For agents, in one paragraph

Ground is Cloud or Core. The accent is Indigo `#1d2340`, never Clay.
Headlines are **Raptor V3 Black tracked tight** (`-0.045em` at hero size,
`-0.025em` at section size), body is Acid Grotesk Light (Hanken 300 if
unlicensed), UI is Satoshi, every number and the handle are JetBrains
Mono. Never italicise a Raptor headline, it has no italic cut. Emphasise
by dropping the line to Bold 700 and leaving the word at Black 900. The subject is Daniel and the system he runs; routiq. appears small,
as a real SVG, as proof. Every claim has a receipt. No em dashes.
