Demo — Conversational AI and agents
Agent with a calendar.
Ask it to book, move or cancel a meeting. A small language model in this page decides which tools to use, and every call it makes is checked before it touches the calendar. You see each step.
Checking what this device can run…
Recorded run
Recorded on 28 October 2026, on a desktop computer with an NVIDIA RTX 4060 Ti graphics card, in Chrome. The timings are that machine’s.
Asked
Move the client call to Thursday afternoon
Step 1: called
move_eventtitle: Client Call · day: thursday · start: 13:30 · part: afternoon
Refused: 13:30 on Thursday 29 October clashes with “Design review” at 14:00. Free starts that afternoon for 45 minutes: 13:00, 13:15, 15:30, 15:45, 16:00, 16:15. The agent was told why, and may try again.
Step 2: called
move_eventtitle: Client Call · day: thursday · start: 13:00 · part: afternoon
moved: Client call, Wednesday 28 October 11:00 (45 min) · to: Client call, Thursday 29 October 13:00 (45 min)
The agent
Moved “Client call” from Wednesday 28 October at 11:00 to Thursday 29 October at 13:00.
4.8 seconds from request to answer
Asked
Book a 30-minute call with Sam next Tuesday afternoon
Step 1: called
create_eventday: tuesday · week: next · start: 14:30 · part: afternoon · title: Call with Sam · with: Sam · minutes: 30
booked: Call with Sam, Tuesday 3 November 14:30 (30 min)
The agent
Booked “Call with Sam” on Tuesday 3 November at 14:30, for 30 minutes.
4.4 seconds from request to answer
How it works
Decide, call, check, try again.
An agent is a language model that can use tools. This one has five, on a practice calendar. This is the run behind the recorded example, step by step.
You ask
Move the client call to Thursday afternoon
Step 1
Pick a tool
A small language model reads the request and writes a tool call: which tool, and what to send it.
move_event · Thursday · 13:30
Qwen3 0.6B · 579 MB
Step 2
Hold it to your words
The day, the part of the day and the length come from what you typed, where a small model drifts.
Thursday, afternoon
Code, not the model
Step 3
Check it
The calendar refuses what can’t be: a clash, outside working hours, the weekend, the past.
Refused: clashes with the design review
Checked before anything changes
Step 4
Try again
The refusal goes back to the model with the free times that afternoon, and it calls again.
move_event · Thursday · 13:00
Up to five steps
Step 5
Say what happened
The last line is written from what the tools did, so it can’t claim a change that didn’t happen.
Moved, and nothing else touched
From the tool results
It says
Moved “Client call” from Wednesday 28 October at 11:00 to Thursday 29 October at 13:00.
- from request to answer, with one refusal, on a desktop graphics card
- 4.8 sfrom request to answer, with one refusal, on a desktop graphics card
- find free time, list, book, move and cancel
- 5 toolsfind free time, list, book, move and cancel
- made anywhere: the calendar lives in this page
- 0 bookingsmade anywhere: the calendar lives in this page
Good to know
A small model, kept on a short lead.
- The calendar is a practice one, made up fresh in this page. Nothing is booked anywhere, and it goes back to how it started when you reset it or leave.
- The model has 0.6 billion parameters, small enough to run in a browser. It sometimes picks the wrong time or sends a call the calendar refuses; you will see that in the steps, and it is told why and tries again. After a few refusals it stops and says so, rather than guessing.
- A model this small drifts, so code keeps it to your words: the day, the part of the day and the length you typed win over the ones it chose, nobody you didn’t name is invited, and its last line is written from what the tools did. Ask it something that isn’t about the calendar and it says so, without running the model. Times relative to other meetings (“between my stand-up and the client call”) are beyond a model this size: name a day and a time, or a part of the day.
- The rules that matter live in the tools, not in the model: no meeting outside working hours, none on top of another, nothing cancelled in the past. The agents we build for clients work the same way, with larger models, your real systems, and a person to confirm anything that can’t be undone.
- It needs a graphics chip the browser can use (WebGPU: Chrome, Edge, or Safari 26 on a laptop or desktop). On phones and other browsers you see a recorded run instead.
About this demo
Small on purpose.
The demos here download 50 MB to 1.0 GB: small enough to fit into a web page and run on your own device, with nothing sent to us or to an AI company. Your browser keeps the files, so a second visit starts from that copy.
They do a great deal for their size, and they make mistakes a larger model wouldn’t. What we build for clients uses larger models where they’re needed, the client’s own data and words, testing before launch, and a person to hand over to.
The files stay in your browser until you remove them, or the browser needs the space. Removing them here clears every demo’s models from this device; a demo downloads its own again if you load it.