Skip to content

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

  1. Step 1: calledmove_event

    title: 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.

  2. Step 2: calledmove_event

    title: 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)

  3. 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

  1. Step 1: calledcreate_event

    day: 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)

  2. 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.

  1. You ask

    Move the client call to Thursday afternoon

    1. 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

    2. 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

    3. 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

    4. 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

    5. 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

  2. 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.

← All capability demos