Quilt is a reactive, typed, cellular runtime. The grid is the runtime. The cell is the universal IO primitive. Every cell can be a value, a formula, an HTTP call, a sensor, a program, an LLM, or any combination. Cells wire together with reactive propagation.
A cell is not a value. A cell is a live, typed, addressable capability. Once you see that, the spreadsheet stops being a document and becomes a runtime.
Wire a camera to a formula to a notification. Wire a knob on a boat to a PID controller to a motor. Wire a user prompt to a router to a model to a response. Wire any engine — Isaac, Cosmos, Minecraft, a Jupyter kernel, a paper-trading app — as a cell. Because cells are reactive, the wiring is the program: change one cell, every dependent rewires automatically. No callbacks, no event loops, no state machines — just cells.
The 9 cell kinds
Every cell has a kind. Each kind has its own evaluator. Compose them in any order.
value
A static value: number, string, object, anything.
formula
A computed expression over other cells.
api
An outbound HTTP call. Every response is a value.
program
A function body. Full TypeScript closure in a cell.
sensor
A pull-based data source. Polls, returns current value.
listener
A push side-effect. Fires when an upstream value changes.
router
Picks a value based on the caller. Per-context memoization.
The same Quilt engine runs in TypeScript, Rust, a single 70KB HTML file, a Cloudflare Worker, an ESP32 (no_std), and a GitHub Codespace. They federate by URI: quilt://[instance]/[sheet]#[cell] is a live, subscribable cell on any tier.
Three ways in. Pick the one that matches what you're building.
① Just want to try it
Open Quilt Live in your browser. 70KB. Works offline. Save as a cookie or downloadable HTML.
② Build a web app or agent
npm install @quilt/core @quilt/sdk
import { QuiltEngine, parseSheet } from '@quilt/core';
const engine = new QuiltEngine('my-app');
engine.loadSheet(parseSheet(yamlString));
const value = await engine.get('temperature');
// every cell is now an MCP tool, an HTTP endpoint, or a CLI subcommand
Every Quilt demo saves to your browser's localStorage. Your work is private, persists across sessions, and can be exported to JSON or YAML. When hosted service launches, you'll be able to save to the cloud too.