The engine is IronCalc, a full spreadsheet engine compiled to WebAssembly and running in your browser. The agent's tools run there too, against the same document you're editing. Ask it to build something and watch the cursor move and the cells fill in.
Early, single-player, and more experiment than product. The parts we built around the engine are open source.
The grid and engine below are the real thing, running in your browser right now. A recorded script drives the same tools the live agent uses — no account, no inference. When it finishes, the sheet is yours to edit.
A recorded session — the agent builds a model in the grid to the left.
Most attempts bolt a chat panel onto a grid, or wire the model in from outside over MCP. The hard part isn't the transport, it's what the model gets back: it reads one range, writes another, and to see what the write did, it reads again. On a sheet full of formulas, that round-trip is most of the work.
So the tools are built around what the agent gets back.
IronCalc handles formulas, dynamic arrays, undo, styles, and number formats, all client-side. The server never parses a spreadsheet — it stores the engine's own bytes and hands them back.
Chat runs on Claude, hosted or on your own API key — but the tool calls the model makes execute in your browser, against the same document you're editing.
The agent focuses a range, switches to the sheet it's working on, writes, and the changed cells pulse. Your cursor is blue, the agent's is violet, so you can always tell whose cursor is whose.
It's an early proof of an idea, and we use it ourselves.
The engine is IronCalc, an open-source project we build on but didn't write. Our parts — the server daemon, the agent's tool definitions, and the sync protocol — live in sheetkit. This app is the UI on top.