Alex Gift Concierge · internal review artifact v2 · 2026-08-02 · noindex

An Editorial
Type System

The brand notes in business-profile.json are already a typographic system in disguise — “letter from Alex,” “parcel and bookplate vernacular,” “gift-tag CTA,” “candor receives a distinct type treatment.” That last one is a hierarchy level somebody already wrote down without calling it that.

Source / Design Dojo
“Editorial Type Systems”
2026-07-30

01

Why this one fits Alex unusually well

Premise

The video's core move: classify pages by the reader's behaviour, not their subject. Reading pages are scanned linearly. Consultation pages are scanned non-linearly for one fact. Display pages communicate through how they look rather than what they say. Then mix them deliberately on one page, and break the system exactly once.

Three reasons that lands harder here than on most sites:

  1. The brand voice is literary, personal, philosophical, honest. A literary voice needs a reading topology to live in. A gift-concierge site built as a landing page has nowhere to put a letter — and the letter is the product demo.A concierge who can't write a paragraph isn't a concierge

  2. “Candor receives a distinct type treatment” is already a hierarchy-level specification. The honesty about gifting being weird is the differentiator, so it gets its own level (L4) rather than a bolded sentence inside body copy.Named in business-profile.json, unbuilt

  3. Pricing, lead time, service area, capacity, and corporate scope are all still owner-gated, and approved-claims.json is empty. Most designs treat that as a hole to hide. A type system treats it as a level — a designed state that reads as reticence rather than absence.L7 below. This is the useful idea in this file.

Register neutrality is preserved

Ticket 002 is still open — Dusk, Correspondence, and Night Letter have not been chosen. Nothing here picks one. The palette is the house default precisely because it's the least interesting option: swap the colour tokens and every rule, level, type step, and spacing step still holds. That's the test of a system versus a style. This file is deliberately not a fourth candidate.

02

The system sheet

Elements + rules

Elements are the ingredients. Rules are the recipe. Everything after this panel obeys it.

Elements — the constants

Display Fraunces Doors and room names only. Its italic carries the candor level — one face doing two jobs, distinguished by slope rather than by adding a fourth typeface.
Reading Source Serif 4 The letter, at T5 / 1.68 / 60ch. Every other step is derived from it by the 1.33 ratio — build hierarchy up from the body, never down from the headline.
Consultation Source Code Pro The topology signal, and the gate signal. Mono means “this is a fact,” including “this is a fact that isn't settled yet.”
Accent · one Placeholder sage Rule markers, section numbers, the candor bar, the gift tag. Swaps wholesale when a register is chosen.
Gate marker 2px dotted, warm Semantic, not decorative, and not a second accent. It appears only beneath an unconfirmed fact and nowhere else in the system.
Grid Letter + margin A 60ch letter column and a 14rem outer margin. Asymmetric on purpose. Below 920px the margin stacks under the letter rather than shrinking.

Rules — the system

  1. The letter is always flush left, ragged right, 60ch, first person, signed. Never centred, never split into columns.Letters aren't magazines

  2. Candor lines are Fraunces italic at T7 with a 3px accent bar at the left. One per room, maximum.Two candid asides is a personality, not a position

  3. An unconfirmed fact is set in mono with the dotted gate rule. Never replaced with a plausible number, an “e.g.,” or a range.The AGENTS.md boundary, expressed typographically

  4. Bookplate blocks (who, where, since) sit in the outer margin, mono, uppercase. Never inside the letter column.Provenance is consulted, not read

  5. Exactly one call to action per room, always the gift tag, always the same words.A concierge asks once

  6. Room names never contain “services,” “solutions,” or “offerings.” If a room is designed as a room, it reads as one.Don't underestimate the viewer

  7. The gift tag is the only element permitted a filled background. Everything else is rules, type, and paper.Scarcity of fill is what makes the tag land

  8. Break the system once, at the tag: centred, filled, punched. Centring is forbidden everywhere else, which is exactly what makes it work there.The break needs a system to break

Type scale — nine fixed steps, ratio 1.33

TokenJobpx
--t1Floor. Folio, bookplate, micro-label12
--t2Dense consultation. Gate, occasions list13
--t3Secondary prose. Margin values, notes14
--t4Scope values, table rows16
--t5Letter. Everything derives from here17
--t6Room name, section head23
--t7Candor line26 / 30
--t8Door34 / 40
--t9Masthead44 / 62

Spacing scale — six steps, one job each

TokenJobpx
--s1Intra — a label to its own value8
--s2Sibling — items inside one group14
--s3Group — group to group24
--s4Block — block to block40
--s5Major — component to component64
--s6Section — section to section104

What changed in v2, and why

v1 specified type and eyeballed rhythm: 35 distinct vertical spacing values across the file. Every gap looked defensible alone; across a long page they stopped meaning anything, because distance no longer encoded relatedness. Hierarchy survives being eyeballed. Rhythm doesn't — it only fails cumulatively, which is why it's the easier one to get wrong and the harder one to spot.

v2 has six spacing steps with one job each, nine fixed type steps, and every vertical gap produced by a .flow-N container rather than by an element's own margin. No clamp() values, no inline styles. The display band steps up once at 768px; the reading band never changes size at all.

Optical correction is the one deliberate break: display type's line box under-runs its visual mass, so anything following a T8 or T9 heading takes one step less than the scale suggests. Declared once, applies everywhere.

03

Nine levels, each visibly distinct

Brief minimum: six

The video's warning: don't make every level “the same font, smaller.” Each rung changes at least two of face, slope, case, tracking, rule, position, colour.

L1 · Door
The Personal Room
Fraunces / T8 / one per page
L2 · Room
What happens when you write to me
Fraunces semibold / T6 / sentence case / never a noun phrase
L3 · Letter

The body is the foundation — even colour down the column, no rivers, no orphans, first person throughout. Every other level is measured against this one.

Source Serif 4 / T5 / 1.68 / 60ch / flush left
L4 · Candor

Most people don't need a better gift. They need to stop dreading the decision.

Fraunces italic / T7 / 3px accent bar / 34ch / once per room
L5 · Bookplate

Alex — sole operator
Working since not yet set
Enquiries by letter

Mono / T1 / uppercase / .16em / outer margin only
L6 · Scope pair
In scope
Consultative gift finding and advising
Not in scope
Anything Alex hasn't confirmed
Mono T1 label above serif T4 value / hairline between pairs
L7 · Gate

Lead time is not yet set, and so is the fee.

Mono / T2 / dotted warm rule / never a number, never a range
L8 · Tag
Write to Alex
Filled / 44px min / identical wording sitewide / once per room
L9 · Folio

Alex the Gift Concierge · No. 01

Mono / T1 / .2em / unchanged on every page
04

Four topologies, one grammar

The sequence

Three faces, one accent, eight rules — four different reading behaviours. All copy is placeholder and every business fact is gated.

Spread A Display topology · the door

Alex the Gift Concierge

Someone should
have thought
about this.

You already know the person. You just don't trust yourself to pick. That's the whole job.

One person
No catalogue

Enquiries
by letter

Terms
not yet published

Behaviour — received, not read. No navigation, no proof points, no numbers. The third plate states the gate as a fact about the business rather than an omission.

Spread B Reading + consultation margin

Room 01 / 03 · Personal

What happens when you write to me

You write and tell me who it's for. Not what they like — who they are, and what you're actually trying to say to them. Most people find the second part harder, which is usually the real problem.

Then I go and think about it, and come back with a small number of options and the reasoning behind each one. You pick, or you tell me they're all wrong, which is useful and not a failure.

Most people don't need a better gift. They need to stop dreading the decision.

How long that takes and what it costs are not yet set — I'd rather say so plainly than publish a number I'd have to walk back. If you write, I'll tell you both before you commit to anything.

— Alex

Behaviour — the column is read, the margin is consulted. Four gates sit in the margin without the page looking broken, because the gate is a level rather than an error.

Spread C Consultation topology · the scope sheet

The page a nervous buyer actually wants, and the one a concierge site almost never has. It answers questions in the order they get asked, and it doesn't pretend the open ones are closed.

What is settled, and what isn't · mirrors business-profile.json
QuestionAnswerStatus
Who does the work?Alex. One person, start to finish.Confirmed
What do I actually get?Consultative gift finding and advising.Confirmed
How do I start?You write. Everything begins with a letter.Confirmed
What does it cost?not yet setOwner gate
How long does it take?not yet setOwner gate
Where do you work?not yet setOwner gate
Do you take corporate work?not yet setOwner gate
Is there a minimum budget?not yet setOwner gate
Do you buy and ship it?not yet setOwner gate

The gate is the point. Six of nine rows are unresolved, and the page still reads as composed rather than unfinished — because the unresolved state has a designed treatment instead of being blank, guessed, or omitted. When Alex confirms a value it replaces the gate in place and the dotted rule disappears; the layout does not move, because the row height comes from a spacing step rather than from the content. That's what makes this a system rather than a mockup — it is legible at every stage of being filled in, including this one.

Spread D The break · the gift tag

Write to Alex

Tell me who it's for and what you're trying to say. I'll tell you the fee and the timeline before you commit to anything.

Behaviour — the only centred, filled, punched element in the system. Rule 08. It lands because nothing in the three previous spreads was allowed to do any of those three things.

05

What this would change in the repo

Concretely
schemas/ — add a gate state

An unconfirmed field is null today, and null renders as nothing. Give it an explicit rendered state so the generator can emit L7 instead of silently dropping the row.

build_site.py — gate-aware rendering

The generator already knows which fields are unconfirmed. Teach it to render the gate rather than omit the field, and the noindex preview becomes honestly showable to Alex.

Ticket 002 — decouple the axes

Dusk / Correspondence / Night Letter is a decision about colour, texture, and geometry. The nine levels, eight rules, and fifteen scale steps are separable, and could be agreed with Alex before the register is picked.

Add a consultation room

The wireframe has personal, ongoing, and business rooms — all reading topology. The scope sheet is a fourth room type, and the one that answers a nervous buyer's real questions.

Name the candor level

“Candor receives a distinct type treatment” sits in business-profile.json as a visual note. Promote it to a named level with a rule, so it can't drift into ordinary bold text.

docs/adr — record the scales

An ADR beside ADR-0003 stating the nine type steps and six spacing steps are register-independent, so a later register decision can't quietly rewrite the hierarchy.

What this file does not do

It asserts no fee, lead time, service area, capacity, or corporate scope. It creates no approved claims. It picks no register. It is not deployable and carries noindex. Nothing here is showable to Alex as settled — it's a proposal about structure, to be reviewed alongside ticket 002 rather than instead of it.