Piary: exploring the interface between people and agents
A document editor where people and AI agents write, revise, and run code on one page. Edit earlier prompts and save your work as Markdown.
- Contribution
- Human-AI Interaction · Prototyping
- Technologies
- TypeScript · CodeMirror · Observable Notebook Kit · pi
- People
- Nemo BrigattiInteraction Designer
- Baran GüneyselInteraction Designer
Agents help us create and revise digital work. In chat, that work is arranged as a sequence of prompts and replies. A draft or program can become scattered across the conversation, with revisions buried among earlier versions.
Piary explores how an editable document could support this collaboration. It combines Observable Notebook’s reactive cells, iA Writer’s plain-text document model and typographic focus, and pi’s coding-agent framework.
The page is a working draft
You and the agent work on one page. Prompts, answers, notes, tool calls, and executable cells share the document. When you run a prompt, Piary uses the document above it as the conversation history. Edits made during a run do not change the context for that run.
You can rewrite a wrong assumption, delete a detour, or revise an earlier prompt and run it again. The new answer replaces the old one in place. Notes let you write without asking the agent for a response. Reasoning and tool calls appear in labeled, collapsible blocks. You can keep writing elsewhere on the page while the agent answers.
Piary saves the document as Markdown. Prose stays readable in other editors, and executable cells appear as ordinary code blocks. The file is portable, but it does not include all session and runtime state.
Where the interface applies
Piary may suit work where the conversation becomes part of the deliverable: a research notebook with live charts, a lesson with editable examples, or a design decision kept alongside the code. Small tools can stay in the document where they are used.
An editable document may add unnecessary overhead to quick lookups or autonomous background tasks. The same applies to interfaces built for large numbers of routine transactions.