Assistants that work on-device
AssistantKit is our kit for voice-first assistants that run entirely on your customer’s device. There is no cloud model, no API key and no per-conversation cost, and no data leaves the device.
Private by construction.
The model, the routing, speech-to-text and the neural voice all run on the phone. With no server in the loop, customer data has nowhere to go.
Zero marginal cost.
There is no per-conversation bill. The ten-millionth question costs what the first one did, so usage growth stops being a finance risk.
Works offline.
The assistant keeps answering in aeroplane mode, in a basement or on a plane, because it has no network dependency.
Five layers, one app.
Every step, from the first spoken word to the card on screen, runs inside the device.
One core. Any number of apps.
The Apple Foundation Models adapter is the only code that knows which model is running, so the layers above it carry over unchanged.
Listen
Raise the phone and speak. On-device speech-to-text turns the request into text.
Route
A two-stage hybrid router picks the right handful of tools from a large catalogue before the model is asked, at zero token cost.
Reason
The agent core runs the phone’s own model against only the tools that were routed to it.
Check
Schema, tool existence and permissions are validated. Anything destructive stops and asks first.
Show
Results render as UI cards, and the neural voice reads the answer back.
On-device still has to be right.
On-device still has to be correct, scalable, private, maintained and well designed. Small quantised models make that harder, so every output is checked before it runs.
Validated output
Small models hallucinate arguments. Schema, tool existence and permissions are checked before anything executes.
Consent in the loop
Buying a ticket or booking a table pauses for the user’s confirmation inside the model’s own loop.
Deterministic safety
A rules layer that costs zero tokens, needs no network and is tuned per market. It keeps our Saudi deployment culturally correct.
Accessible by default
Every answer is spoken aloud and shown as a card. [Confirm specifics: VoiceOver, Dynamic Type.]