When the speaker talks to the tower

Wiring a voice speaker into your own business software. What was simple, what pushed back, and the lesson we did not expect.

In short: an Alexa skill asks the tower a question, the tower answers. The hard part was not connecting the two — it was making an answer listenable: what reads beautifully on a screen sounds terrible out loud.

The idea fits in one sentence

You speak to a speaker, it answers with what the tower holds. “What do I have to do today?” — and the list comes back, out loud, without touching a screen. Dictate a note while cooking. Ask for a project's status while walking.

How a speaker talks to software

Amazon calls a web address whenever someone speaks to the speaker. So our job is to provide that address, and to answer in the format Amazon expects. One route is enough:

The door: /tour_alexa/skill — Alexa posts raw JSON there, not the tower's usual protocol. We had to open a separate door that speaks its language.

Two locks, not one

That address is public: anyone on the internet can find it. So it is closed twice.

First a secret token in the address, generated by the tower itself. Without the right token the answer is “forbidden”, and nothing else happens — the request never even reaches the data.

Then an optional second lock: the skill identifier. Amazon sends, in every call, the identity of the skill that is speaking. If it is filled in, any other skill is refused — even with the right token.

Why two: a token can leak, it lives inside an address. The skill identifier cannot be guessed and never travels. You have to be wrong twice for a lock to give way.

The lesson we did not expect

The wiring went fast. What pushed back was something else: a written answer is not a spoken answer.

An answer from the tower arrives with stars for bold, hashes for headings, full web addresses, list dashes. On screen it is clean. Out loud, the speaker reads everything — the stars, the hashes, and the address character by character. It is unbearable within three seconds.

So a translation step was needed, between the answer and the ear:

The detail that matters: cutting at exactly six hundred characters would often land inside a word. So we walk back to the last space. It is one line of code, and it is the difference between an assistant and a broken robot.

What it says about everything else

A new channel is never a simple connection. Each one carries its own constraints, and they travel all the way back to the content. Voice forces you to be short, unformatted, link-free. It forces you to actually answer the question, because you cannot skim spoken text the way you skim a screen.

That is good discipline. An answer that holds up out loud holds up everywhere.

What it does not do

The skill answers on behalf of the tower's owner: this is personal use, not shared access. Opening voice to several people would require knowing who is speaking, and a speaker cannot know that reliably. That is a door you do not open lightly.

🔭