Brand voice and narrative. Built for humans and AI.

I create verbal identities that scale, whether humans write the content or AI does. The same story, the same tone of voice, the same quality, applied wherever your brand shows up.

Past clients
Fin Google Samsung Microsoft PlayStation Magic Leap LinkedIn AOL Siemens Standard Chartered NS&I NatWest BNP Paribas Akbank Wio Nike RIMOWA Burberry Rolls-Royce LVMH Shelter Fin Google Samsung Microsoft PlayStation Magic Leap LinkedIn AOL Siemens Standard Chartered NS&I NatWest BNP Paribas Akbank Wio Nike RIMOWA Burberry Rolls-Royce LVMH Shelter
How I work
The Craft

Honed, nuanced writing with a true human voice.

The Rules

Systems that scale human voice without losing it.

The Craft

I still believe in craft. It’s the language only a human being can write. A distinct POV, a signature turn of phrase. Complex ideas made simple, compelling, even beautiful.

The writing a brand is judged on

Launch copy, founder letters, campaigns, rebrands. Big spotlight moments that carry the most weight and the least room for error.

Storytelling, not just messaging

For brands selling more than a product: an experience, a world, a way of life. Written with a storyteller's instinct, not a marketer's.

All mediums with one standard

Email, web, product, events. Whatever the format, the same question applies: does this need real craft, or just words? If it's the former, I'm in.

Craft in action:

Mox

Standard Chartered Bank — Head of Copy @ R/GA

Hong Kong's first virtual bank, built from 0 to 1. I defined the brand voice, the messaging framework, and the content guidelines across all surfaces. Then carried that voice through the manifesto, the app, and even the physical bank card, blending English and Cantonese the way the city itself does. See Mox.com

Nike

London Youth Games & NikePlus — Head of Copy @ R/GA

Two engagements: a new tone of voice and website for London Youth Games, built to partner Nike with LYG’s mission for young athletes. And a NikePlus pilot: I designed one motivational framework, rooted in behavioural psychology, then applied it consistently across 12 weeks of training content. See LYG.org

RIMOWA

RIMOWA.com — Copy Director @ R/GA

A 120-year-old luxury luggage brand, rebuilt for e-comm. Exactly the kind of high-stakes rewrite where every word counts. I wrote the heritage story once. Then built a copy system that carried the voice across the product, from the patented wheels down to the TSA locks – all the way through to checkout. See rimowa.com

The Rules

Rules make craft repeatable, a thousand times over. The same human judgement, made explicit enough for a machine to check, so it survives contact with scale.

Tone of voice for humans, AI, or both

Written for people, the way it's always been done. Or rewritten as rules for an agent. Both let you control your voice, across teams and touchpoints.

Design system content rules

UX writing rules for your UI, from foundations to components. The rules let designers and AI tools keep your product consistent as it grows.

Terminology systems

The terms you already use, made uniform. One glossary enforced everywhere, instead of terms drifting across product, marketing and support.

Accuracy and maintenance

Voice rules go stale. Models change, new features ship, teams turn over. I offer ongoing maintenance to keep your AI content systems up to date.

Rules in action:

Fin (Intercom)

Senior Content Designer

I wrote the company's first content design guidelines. These included foundational rules for the whole product UI – and specific rules for every component in the design system. Then I built three tools on top, all shipped and in production:

1

VERBI — Creation

An AI assistant built on Glean that writes, edits, and critiques copy in the house style. It means judgment scaled across an entire team rather than bottlenecking with one person. Read my Intercom blog post →

2

content-review — Validation

A Claude Code skill that checks whatever a designer gives it: code, a Figma file, a screenshot. The content is reviewed against the full design system, so any issues are caught while the work is in progress, not fixed after launch.

3

content-lint — Enforcement

Code gets linted automatically, so I built this tool to ensure content does too. It checks every pull request for major errors like typos or US vs UK English. It found 5k errors live in-product, and now catches new ones before they ship.

Example: a content guideline, written for AI to check

To show what this means in practice, here's an illustrative example.

Written for humans in a style guide:

Buttons should use short, active verbs. Avoid vague labels like "Submit" or "OK". Say what the button actually does e.g. "Send message," "Save changes". Keep to 3 words or fewer where possible.

The same rule, restructured for a machine to follow:

rule: button_label_specificity
applies_to: component.button
checks:
  - max_words: 3
  - banned_labels: ["Submit", "OK", "Click here"]
  - require: verb_first
  - require: describes_the_action  # e.g. "Send message" not "Continue"
fail_message: >
  Button labels should be short, active, and specific to the action
  (e.g. "Send message", not "Submit").

The human version relies on judgment: what counts as "vague" is left to taste.

The machine version can’t do this: every condition has to be explicit and checkable, with no room for interpretation. Writing that translation – deciding what can be made binary and what still needs a person’s judgment – was the core challenge behind all three tools I built above.