← All case studies
Case study · what3words

Designing a voice interface people actually talk to

A three-word address is easy to say and surprisingly hard for a machine to hear. Building and localising the what3words Alexa skill meant designing a content model for a product with no screen, no undo, and no room to explain itself.

Company
what3words
Role
Product & UX Manager
Focus
Voice-first content design
Based in
London, UK
5
languages live at launch
2
voice platforms — Alexa and Google Home
0
screens to fall back on

The situation

what3words divided the world into three-metre squares and gave each one a unique combination of three words. The whole pitch is that it's sayable — you can read your address down a phone line to a delivery driver, or shout it to a mountain rescue team, in a way you simply cannot do with latitude and longitude.

Which raises an obvious question: if the format is designed to be spoken, why were people still typing it? I led product and UX for voice products and third-party integrations, which meant building the experiences that let someone navigate somewhere, or order a ride, by saying three words out loud to a speaker — on Alexa and Google Home.

Why voice is the hardest place to put this product

On a screen, a three-word address is trivially easy to verify. You see it. You read it back. If the autocomplete gets it wrong, you notice instantly, because the wrong word is sitting right there in front of you.

Voice removes every one of those safety nets. There's no screen to glance at, no cursor to correct, no way to scan back over what you just said. And the failure mode is unusually punishing: a three-word address that's almost right isn't nearly right, it's somewhere else entirely. Get one word wrong and you haven't got a slightly imprecise location — you've got a completely different three-metre square, possibly on another continent.

A near-miss on a map is a different street. A near-miss on a three-word address is a different country.

That reframed the whole problem for me. This wasn't a UX writing job about making a skill sound friendly. It was a content architecture problem: how do you design a spoken exchange where the cost of a misheard word is catastrophic, and the only tool you have to catch it is more words?

Designing the content model

Every voice interaction in the skill came down to a small number of repeated decisions, and my job was to make those decisions once, properly, rather than let them get made ad hoc per flow:

  • How the skill asks. The prompt has to teach the format while asking for it — someone who's never used the product needs to understand what shape of answer is expected, without a tutorial.
  • How the skill confirms. Reading the address back is the only verification mechanism that exists. That confirmation step carries almost all of the reliability of the product.
  • How the skill recovers. What it says when it didn't catch a word, caught a word that doesn't exist, or caught three words that resolve to somewhere implausible.
  • How the skill hands off. Navigation and ride-ordering both end by passing the location somewhere else, and the content has to make it obvious what's about to happen before it happens.

Designing, testing and optimising that model — rather than writing individual lines — is what made it possible to extend the same experience to a second platform and into other languages without rebuilding the logic each time.

The bit people underestimateConfirmation copy is the least glamorous content in a voice product and by far the most important. Nobody puts "wrote a really good read-back prompt" on a slide. It's the difference between a skill that works and a skill that sends someone to the wrong hemisphere.

A worked example: ordering a taxi

Here's how the content model plays out in a full flow — booking a ride from one three-word address to another. Every line is doing a specific job, and the annotations explain which.

Flow — book a taxi to a three-word address
User
"Alexa, ask what3words to book me a taxi."
Invocation names the skill and the intent. No greeting, no menu.
Skill
"Sure. What's your destination? Say the three words, one at a time."
Teach the format in the ask. "Say the three words, one at a time" tells a first-timer the shape of the answer and slows their delivery — which materially improves recognition. No tutorial required.
User
"filled. count. soap"
Constrained input. The user has been told exactly what to say, so they say it.
Skill
"I heard filled, count, soap — that's Waterloo Station, London. Is that right?"
The most important line in the flow. Read back the words and translate them into a place the user recognises. Words alone can't be sense-checked; a landmark can. Two independent verifications in one sentence.
User
"Yes."
A yes/no question gets a yes/no answer. Predictable input by design.
Skill
"Got it. Picking you up from your current location, or a different three-word address?"
Offers the likely default first, and names the only alternative. Two options, both spoken — the user never has to invent a phrasing.
User
"A different one. index. home. raft"
Users often answer ahead. The model accepts the address in the same turn rather than forcing a re-prompt.
Skill
"That's index, home, raft — Peckham Rye, London. Booking a taxi from there to Waterloo Station. Shall I confirm?"
Summarise once, before the irreversible step. Both ends of the journey in one sentence, in the order they'll happen. This is the last exit before money changes hands.
User
"Confirm."
The skill supplied the verb, so the user has one to reach for.
Skill
"Booked. Your driver arrives in about 4 minutes. I've sent the details to your phone."
Confirms, gives the one number that matters, and hands off to a screen where detail belongs. Ends the conversation cleanly rather than offering more.

And when it goes wrong

Recovery is most of the design, so it gets the same treatment: never make the user repeat everything, and never make them guess what went wrong.

Recovery — one word misheard
Skill
"I got filled and soap, but I didn't catch the middle word. What was it?"
Repair only the broken part. Confirming the two it did hear proves it was listening and reduces the ask to one word — the shortest possible path back.
Skill
"Filled, count, soap is in Sydney, Australia. Did you mean somewhere closer to you?"
Sanity-check implausible results. A valid address 10,000 miles away is almost certainly a misrecognition. Flag it as a question, not an error — it might be correct.
The rule underneath all of itEvery question the skill asks should make the next thing the user says more predictable. Open questions are expensive in voice — you pay for them in recognition errors. Ask narrowly, supply the verbs, and the user hands you clean input without ever noticing they've been steered.

Five languages, and why that isn't translation

Launching in five languages made every one of the problems above harder, because the underlying word lists differ per language. A three-word address isn't translated between languages — each language has its own set of words for the same square. So the localised skill isn't a translated version of the English one. It's a different set of speech inputs entirely, with different homophone clashes, different word lengths, different rhythms when read aloud.

This is the same argument I ended up making across everything I did at what3words, and later at Klarna: you cannot hand a translator the English strings and expect the experience to survive the journey. Voice just makes the consequence louder. A confirmation prompt that reads back smoothly in English can be almost unusable in another language if you translate its structure rather than rebuild it.

Built with local experts, not for them

The same principle I'd proved on the store listings applied here, harder. We worked with local language experts in each market to shape the voice interface rather than translating the English flow — because in voice, the things that break are things only a native speaker notices.

What the skill asks, and how, has to change per language. Confirmation phrasing that scans smoothly in English can be clumsy or oddly formal elsewhere. The natural pause between three spoken words differs. Which words clash as homophones is entirely language-specific, and it's the single biggest determinant of whether recognition works. None of that is discoverable by translating strings.

Which is how I ended up learning to order a taxi in HindiYou cannot QA a voice interface you can't speak. To test the Hindi flow end to end — say the address, hear the confirmation, catch the moment it goes wrong — I had to learn enough Hindi to actually order a taxi. It's the most literal example I have of a principle I believe generally: if you can't experience the failure yourself, you're reviewing a transcript, not testing a product.

What I took from it

Voice was the clearest lesson I've had in the thing I keep arguing about publicly: that content design is systems work, not sentence work. There is no visual design to hide behind in a voice interface. There's no illustration to carry the tone, no layout to establish hierarchy, no button label doing quiet work in the corner. The content is the interface. Every decision about what gets said, in what order, and what happens when it goes wrong, is the product.

It also gave me the sharpest possible version of an argument I'd make repeatedly afterwards — that the moments worth designing hardest are the failure states. In a voice product, the error handling isn't an edge case you clean up before launch. It's most of the design.