ManuVox — Talk to your robots · Apexlify Labs
New from Apexlify Labs · In development

ManuVox Talk to your robots.

ManuVox lets anyone on a warehouse or plant floor ask what a robot is doing, look back at what it did, give it new work, or pause it — just by speaking into the phone or handheld they already carry. And when a machine gets stuck, it calls the right person.

< 0.6 s from “stop” to a pause request
0 new devices works on your phones and handhelds
On-site runs inside your network
SIP over the plant network + WebRTC app · edge box on site · cloud STT / LLM / TTS, outbound only
{{ chatDevice }} Ops · Zone B
{{ line.who }}
{{ line.text }}
{{ chatCaption }} REC · logged
The idea

No more walking to a terminal to find out what a robot is doing.

People on a robotic floor need four things from the machines around them — and the machines need one thing back. ManuVox handles all five by voice.

{{ v.n }}

{{ v.title }}

{{ v.desc }}

“{{ v.say }}”
How it works

One box. Your floor.
Every machine.

A small server sits on your site network. People reach it from phones and handhelds; it talks to the systems that already run your robots. It asks those systems to act — it never goes around them.

Cloud AI services speech recognition · language model · natural voice OUTBOUND ONLY PEOPLE Desk, wall & Wi-Fi phones dial 7000 for Ops Handhelds & headsets push-to-talk app Supervisor console live floor board & command log ManuVox ON-SITE EDGE BOX Understands the request Checks who you are & what you may do Reads it back before acting Records every command, with audio SYSTEMS IN CHARGE Robot fleet managers AMR & AGV fleets Warehouse systems WMS · WES task queues Machine controllers PLCs · sorters · conveyors · cells Robots & machines their own safety stays in charge Requests: questions, tasks, pauses Answers, confirmations & machine alerts

Uses what you already have

Plant phones dial an extension. Handhelds open an app. No new radios, no new badges, no public phone numbers.

Never a second boss

Every command goes to the system that already runs the robot. Its traffic rules and interlocks keep the final say.

Your data stays home

Robot history lives on the box at your site. Nothing on the internet can connect in.

Self-hosted LiveKit (SIP + WebRTC) · adapters: VDA 5050, OPC UA (PackML), vendor REST / webhooks, WMS / WES · history stored as state changes
The life of a command

The AI listens. The rules decide.

The AI is great at understanding “send one-seven home after it drops this tote.” It is never the part that decides you said yes. Here is every step a command takes.

Step {{ cur.n }} of 7 {{ cur.actor }}

{{ cur.title }}

{{ cur.body }}

{{ cur.quoteWho }} “{{ cur.quote }}”
{{ cur.tech }}
Stop means stop

Safe direction fast. Risky direction confirmed.

When someone sees a robot heading for a spill, waiting for the cloud and a “confirm?” costs seconds. So a one-word “Stop one-seven” is recognised right on the box and the pause request leaves at once. Pausing can always be undone; that is why it gets to be instant.

Anything that starts motion, cancels work or touches more than one robot is read back and confirmed first.

Local grammar recogniser on the edge · whole-utterance match · single asset only · target p90 ≤ 600 ms
“Stop one-seven!” {{ fastLabel }}
Heard on the box → pause request sent to the fleet
“Resume one-seven.” {{ slowLabel }}
understand read back “confirm” send
Heard “stop” inside a longer sentence? ManuVox notices and offers a one-word undo.
Safety & authority

Voice asks.
The machine decides.

The bigger the action, the more ManuVox asks of you. And some things it will never do by voice — the hardware E-stop stays the only safety stop.

{{ r.what }}
Who {{ r.who }}
How it's confirmed {{ r.how }}

It only says what it saw

“One-seven is paused” is spoken only once the robot reports it. Older data is spoken with its age.

It never guesses

Two robots at dock four? It asks which one. Your PIN is always keyed, never spoken or recorded.

Respectful of people

No voiceprints. No productivity scoring of workers. It tracks the machines’ history, not the people’s.

Policy = role × verb class × zone · class X has no verb, no connector op and is refused at publish · references ISO 3691-4, ISO 10218, ISO 13850, IEC 62443
Machines call people

When a robot is stuck, the right person’s phone rings.

Not a beep. A conversation. The person who answers can ask “what’s blocking it?”, acknowledge, or give a command — and if nobody answers, it moves up the chain on your rules.

Alpha one-seven · path blocked · aisle twelve {{ escClock }}
{{ ev.time }} {{ ev.title }} {{ ev.sub }}

One alert, not twelve

Three robots queued behind one blockage become one call: “three robots blocked behind one-seven.”

Closes itself

When the robot starts moving again, the alert resolves and whoever is on the call is told.

Quiet when you ask

Maintenance windows and rate limits stop alert fatigue before it starts.

Fleet flag rules → alert rules · channels: floor call, app card, zone page, console · group_by root cause · auto_resolve_when
Built for real floors

Works on a bad day, too.

Loud floors, dropped internet, a fleet system that goes quiet. Each has a planned response, and pausing and alerts keep working through all of them.

{{ b.tag }} {{ b.state }}

{{ b.title }}

{{ b.body }}

“{{ b.say }}”
Who it's for

Everyone on the floor. Each at their level.

{{ p.role }} {{ p.device }} “{{ p.ask }}”
Fits your stack

Plugs into what already runs your site.

Adding a new robot vendor is a mapping file, not a custom project. Your robots, zones and task names are set up as configuration — nothing is hard-coded.

{{ sk.label }}
{{ it }}
Roadmap

Rolling out carefully, one zone at a time.

{{ ph.n }} {{ ph.status }}

{{ ph.title }}

{{ it }}

Be one of the first floors that talks back.

We’re choosing a small number of pilot sites — AMR fulfilment, sortation or manufacturing cells. Tell us what runs your floor and we’ll show you what ManuVox can do with it.

Book a pilot conversation → Explore Apexlify