Maker and retail

Selling a four-month wait

Type
Made-to-measure frame builder
Palette
Cobalt on cream
Pages
Three
Status
Self-directed demo

The brief I set myself

A one-person frame builder who makes twelve bicycles a year. Every frame is drawn around a two-hour fitting and takes about sixteen weeks. The site has one job, which is to make a four-month wait sound like the point rather than the problem.

The decision that shaped it

Craft businesses attract a particular kind of website: warm cream background, brass accent, a serif that implies heritage, and photographs of hands. It is the default any time a brief mentions the word artisan, and because it is the default it says nothing about this builder specifically.

So the palette is cobalt on cream, and the type is a system sans rather than a display serif. The craft reads through specificity instead: the tubing is named, the brazing method is named, the price basis is named. A customer spending four months waiting wants facts, and facts are more persuasive than atmosphere.

What I left out

  • No testimonials. Not an oversight. Fabricated reviews are illegal under the FTC's 2024 rule, and a testimonial slot in a new build is an invitation to fill it with something invented.
  • No prices on the page. The frame is quoted after a fitting, and publishing a number that always turns out wrong is worse than publishing none.
  • No stock counter. "Three slots left" is a pressure tactic, and on a business that genuinely has a waiting list it is also redundant.

What the checks caught

Three real faults in my own work, none of which I would have found by looking at the page:

  • One colour token was doing two jobs, hairline dividers and input borders. Dividers have no contrast floor; a border that identifies a control needs 3:1 under WCAG 1.4.11. It was sitting at 1.62:1. The fix was to split the token in two.
  • The same token failed again at 1.88:1 in dark mode, which I would have missed entirely because I was working in light.
  • The footer headings were marked up as level four directly after a level two, which breaks the document outline for anyone navigating by headings.

This is the argument for the linter.

None of those three are things a designer catches by eye, and all three are things a demand letter cites. Running the checks is cheaper than noticing.

What I would do differently

The photography is placeholder, loaded from a third-party service, which means a visitor's IP address goes somewhere it does not need to. On a real build the images are self-hosted and that request disappears. I left it in and disclosed it in the privacy notice rather than quietly ignoring it.