# Positioning a vertical, and forcing contrast

The single highest-leverage document in the pipeline. Get this wrong and every later
phase produces a competent site that proves nothing.

## 1. Find what the customer actually buys

Not what the business says it sells. Ask what the end customer is genuinely comparing,
and what they are afraid of.

| Vertical | Says it sells | Customer actually buys | Fear |
| --- | --- | --- | --- |
| Resort | An experience | A few days of not being responsible for anything | Disappointment on arrival |
| City apartment | A room | A fair price and a solved daily life | Hidden costs, a landlord who vanishes |
| Dental clinic | Treatment | Not being judged, and knowing the price first | Pain, and an open-ended bill |
| Small gym | Fitness | Belonging somewhere that isn't intimidating | Being the worst person in the room |

The fear is the most useful column. A demo that visibly answers the fear reads as
insight; one that ignores it reads as decoration.

## 2. Write the intent sentence

One sentence naming what the brand **is** and what it must **not** be. The negative half
is what keeps the work off the generic path.

> *A well-run building — warm, dependable and unpretentious; deliberately not a luxury
> condo, and never a cold grey SaaS grid.*

Everything downstream is judged against this sentence, including colour, type, layout
density, and photography.

## 3. Contrast against the family — on axes, not pairwise

Position the new site explicitly against the existing ones. Do **not** write a pairwise
table against every sibling: at two sites that reads well, at five it becomes ten
comparisons nobody maintains and it decays into ritual.

Instead keep one family matrix. Declare where the new site sits on each axis and check
that no existing site already occupies that combination. Adding site N is then a single
check, not N-1 comparisons.

| Axis | Poles |
| --- | --- |
| Information density | imagery leads ←→ specs and tables lead |
| Emotional register | aspirational ←→ practical |
| Price visibility | hidden / "enquire" ←→ itemized on the page |
| Decision horizon | impulse, one visit ←→ considered, recurring |
| Image role | atmosphere ←→ evidence |
| Primary CTA | mood ("view rooms") ←→ decision ("see the monthly rate") |
| **Trust locus** | the place ←→ the operation ←→ **a named person** ←→ **the delivered job** |

**Trust locus is the axis that changes the most downstream**, so decide it early. When
trust sits in a *person*, an about-the-practitioner presence stops being a nice-to-have
and becomes load-bearing; the copy moves from "we" to "I"; and the photography has to
include her — her hands, her face, her working posture — rather than documenting an empty
room. Building a person-led site with a place-led instinct produces something technically
correct and emotionally cold.

The fourth pole is the one to reach for in the trades and in small B2B, and it is not the
same as the operation: the customer is not judging how the business is run, they are judging
**whether the thing arrives finished and on the day it was promised**. The owner may be the
most quoted voice on the site and still not be the trust locus. Downstream that means the
photography documents *work and its results* rather than people — the finished gate, the
weld, the sketch beside the part it produced — and the load-bearing page is whatever
publishes the commitment: lead times, terms, what is excluded, what the business refuses. A
site positioned here that spends its home page on a founder portrait has answered a question
nobody asked.

**Where the live matrix lives:** with the sites, not in this skill — the skill would go
stale the moment a site is added. Reconstruct it by reading the existing
`requirements.md` files before positioning a new one. What follows is a frozen
illustration of the format, not the current state of the family:

| Axis | Green Garden Resort | Ken's Place |
| --- | --- | --- |
| Information density | imagery leads | specs and tables lead |
| Emotional register | aspirational, calm | practical, reassuring |
| Price visibility | understated, secondary | itemized, front and centre |
| Decision horizon | a few nights | months or years |
| Image role | atmosphere | evidence |
| Primary CTA | mood | decision |

Then state the drift rule plainly: *do not let this site's voice drift toward a sibling's
register.* Later phases will try to, because the sibling's patterns are already written
down and easy to copy.

If a new vertical genuinely lands on an occupied combination, that is a signal — either
find the axis where it really differs, or ask whether the family needs this site at all.

## 4. Decide information density deliberately

This is the structural decision most often made by accident.

- **Low density** (imagery leads, prose is short and evocative) suits discretionary,
  emotional, infrequent purchases.
- **High density** (tables, specs, itemized costs, comparison) suits considered,
  budget-constrained, repeat-consequence purchases.

High density is harder to make beautiful and is therefore the more convincing demo: it
proves the studio can organize information, not just arrange photographs. When a vertical
sits near the line, lean dense.

## 5. Write the copy bank and the banned list

**Copy bank** — a handful of approved phrases in the finished voice, so tone stays
consistent across pages and across sessions.

> "Everything is already in the room." · "Move in with a suitcase." ·
> "The price on this page is the price." · "Come and see it — most people decide in ten
> minutes."

**Banned phrases** — the words the vertical must never use. Write these down; they are
the fastest available fix for generic copy.

> luxury · exclusive · elevate · oasis · sanctuary · curated · bespoke · unparalleled ·
> redefine · seamless · lifestyle destination

Both lists live in `content-model.md` and are enforced during review.

## 6. Prefer a number to an adjective

The rule that most reliably makes demo copy feel like it came from someone who visited.

One example per vertical, because the move is the same everywhere and the vocabulary is
not:

- "8 minutes to the station" beats "conveniently located"
- "we bake at 5am, sold out by 2pm most days" beats "artisanal freshness"
- "first consultation ฿500, and we tell you the total before we start" beats "transparent
  pricing"
- "four trainers, none of them will shout at you" beats "supportive environment"

If a sentence contains an adjective doing the work of a fact, replace it.

## 7. Derive the content shape — do not inherit it

The single most contaminating mistake when reusing this pipeline: copying the previous
site's content model and bending the new vertical into it. Ken's Place is entities +
prices + terms + walking times. That shape is *rental*, not universal.

| Vertical | Core entity | Repeats over | The number that decides |
| --- | --- | --- | --- |
| Apartment | Unit type | 3 types | Monthly rent + first payment |
| Restaurant | Dish | 80+ items, 10 categories | Price per dish, and the average bill |
| Clinic | Treatment | 20-40, by department | Price per treatment, insurance accepted |
| Gym | Membership tier + class | 3 tiers, a weekly timetable | Monthly fee and the joining fee |
| Hostel | Bed / room type | 4-6 | Per night, and what is shared |
| Sole practitioner | Service | 3-6 | Trust, then the next free appointment |

Ask three questions before writing a line of `content-model.md`:

1. **What is the customer comparing?** That thing is the core entity, and it gets a
   typed array and a detail route.
2. **How many of them are there?** Three units want cards; eighty dishes want a content
   collection, categories, and an anchored nav. The count changes the IA, not just the
   layout.
3. **What ends the decision?** Often a number — but not always, and assuming so is a
   rental-and-retail reflex. For a personal service, price is only the entry ticket: what
   closes it is trust and whether there is a free slot on Thursday. Whatever it is —
   a figure, a proof, an available time — that thing is what the layout is built around
   and it belongs above the fold.

**The routes follow from this, not from the last site.** Ken's Place needed `/living`
because a tenant is buying a daily routine; a restaurant needs `/menu` and has no use for
it. Derive the route list in phase 1 and confirm it with the user before scaffolding.

## 8. Commercial posture — candour is a closing tool, not a substitute for one

The family's early method was "find the small operator with a conscience and put the
conscience on the page." It builds trust and it is pleasant to read, and it has a failure
mode: **the site forgets it exists to move a reader toward a booking, a quote or a
signature.** The money drifts one nav-click away out of politeness. For a sales asset that
is a miss, not a virtue.

The property series (`ruensuan-homes` → `node-rama-9` → `sonhin` → `rakthan-homes`) is
where this got resolved, because a developer *cannot* run a founder story — it reads as
undercapitalised. Those sites had to sell on published facts alone, and proved the three
things are one system:

1. **Candour is a closing tool.** Every unflattering fact you publish should do one of
   three jobs: **de-stall** the ready buyer (remove the reason to keep shopping),
   **disqualify** the wrong one, or **dispute-proof** the sale (the fault named in writing
   cannot return as the grievance that sinks a reputation business — a used-vehicle
   dealer, a funeral home, a builder). The year-4 payment, the 3% commission, the net
   yield after costs, the penalty both ways — each is doing the work a brochure only
   pretends to do by omission. A disclosure that does none of the three is decoration.
   When the buyer is in crisis (`two-am-animal-hospital`, bereavement), the published
   price substitutes for a negotiation they have no capacity to conduct.
2. **Story is the vehicle for the commercial argument, not styling around it.** Test:
   delete the narrative — does the transaction case get weaker? If not, it is costume.
3. **Name the transaction and don't be embarrassed by it.** A price, or the variables that
   set one. A next step that names a decision ("see the monthly rate"), not a mood
   ("discover more"). A form that qualifies, not just collects a name.

None of this licenses dark patterns, fake urgency or pressure — the family sells by
removing the reader's fear, not by manufacturing one. It licenses *not hiding the sale.*

Phase-1 questions, recorded in `requirements.md`:

- What transaction does this site drive toward? (Vague answer = positioning not finished.)
- Where is the money? (First landing page or one scroll down — never only behind a nav
  item. Can't publish a rate? Publish the variables plus a worked example.)
- What does each disclosure *do* — de-stall, disqualify, or dispute-proof? If none, cut it.
- If there's a story, does the transaction case weaken without it?
- Primary CTA: decision or mood? Decision.
- Conscience narrative — does this vertical support one? Named operator yes; developer /
  intermediary no.

Full write-up with the per-site table: `docs/commercial-posture.md` in the sites repo.
