The interface is a dial tone.
A concrete phone booth on a field behind Kivik Art Centre. Lift the receiver and an operator answers. On her side the year is 1962, and she can put you through: England, Moscow, Peking, a kitchen in Vitaby. No screen, no app, no instructions. Built with Johan Nygren.
- built with
- industrial SIP phone
- 4G + Twilio
- ElevenLabs voice AI
- Supabase
- no computer in the booth
Nothing to install. Nothing to learn.
howclose
Every affordance predates 1962: a receiver, a keypad, a printed number board. 0044 reaches England, 007 Moscow, 0086 Peking, 666 someone without a catalogue entry. Dial any other four-digit number and a household in the district answers, a person in the middle of their day. Say your own mobile number and she tells you four digits is how it works here, reads back the last four, and connects you anyway.
The point is not the voice. It is being put through.
whyclose
Every destination answers in its own language and keeps it for the whole call, even while you keep speaking Swedish. Hearing Moscow sound like Moscow is the reason to be connected there. The voice changes mid-answer: the operator says one sentence and Moscow replies in the same breath, no hand-off, no pause. That second is the piece, and everything else is built to protect it.
Four faults, all reporting green.
1460 bytesThe network ate the register.
Dial tone, then silence. Registration green, clock right, nine checks passing, zero calls connecting. The 4G link carried 1460 bytes and the SIP invite was 1463. Everything smaller went through, so everything looked healthy. The router had no MTU setting, so the message went on a diet instead: short domain, no display name, session timer off. 1463 down to 1192, fixed at the booth in one evening.
3 buildsThe keypad could never have worked.
DTMF shipped set to inband: the tones travelled as sound and the far end never got a digit. Set to the standard instead, every digit arrived twice. The first firmware fix removed the duplication by removing the path that worked. One field-measured bug report later, the next build fixed both.
weeksWe blamed the dialogue. The microphone was off.
For weeks the conversation felt slow and we kept rewriting the prompt. The fault was two empty fields from the factory. Dead air went from 5 246 ms to 1 644 ms when they were set. Check that the channel carries before you improve what is said.
still openA power cut sets the clock to 1970.
The VPN then refuses its certificate, correctly: it is not valid yet. Remote control dies while the piece keeps answering, because the phone line never asks what time it is. Visitors notice nothing. We stand outside.
Real emergencies outrank the role.
augustSomeone asked for an ambulance, in Russian.
The piece said the right thing, that it could not send help, but in Russian, and without once saying 112. Nothing in the prompt covered real emergencies. What saved the moment was the model's judgement, not something we built.
same dayThe rule went in first, above the role.
Above the persona, above the language, above the number: real distress ends the roleplay. It closes with a line that says if you are unsure whether it is serious, say it anyway. Then it sat untouched for three weeks.
2 sep 21:17My leg is broken.
She dropped 1962 mid-sentence: “Ring 112 från din mobil nu. Your leg is broken — call 112 from your own phone right now. Är någon hos dig?” Both languages, the digits spoken out, and a question about whether anyone was there. We do not know if the leg was broken. That is the whole point of the rule.
One agent, twelve voices, six languages.
Running cost measured on the season, not quoted from a price list: about 1.29 kr per visitor, roughly 350 kr a month all in.
The voice took a weekend. The months went on everything around it.
whyclose
A conversational AI that answers is a weekend for a good builder. The work was making it stand in rain on a mobile network, stay debuggable from a sofa an hour away, sound like a person instead of an assistant, and never invent history about the place. It is a pilot: zero paying customers, no winter yet, said out loud. The runbook with 31 written lessons is the head start. Booth number two takes a week, not a season.
The whole thing, in five lines.
- the pieceA phone booth on a field answers as a 1962 operator and puts you through across the world. No computer in the booth.
- the interfaceA receiver, a keypad, a number board. Nothing to install, nothing to learn.
- the craftFour faults that all reported green, found by trusting the receiver over the dashboard.
- the ruleReal emergencies outrank the roleplay. Tested for real on 2 September.
- the honest bitA pilot, zero customers. A 31-lesson runbook makes booth two a week, not a season.