Writing
System design, worked through in public. Each piece takes one thing I built and walks the decisions: the problem, the alternatives I weighed, the tradeoff I took, and what it cost. Dated to when the work happened.
2026
- system design9 min
The Idyll
When I run many agent sessions at once, I am the part holding the goal, the context and how the pieces relate. Idylls were an attempt to move that out of my head.
- system design9 min
Convergence
Many agents produce many divergent threads, and the forcing function that converges them runs in your head on borrowed gitflow semantics. Externalising it lets an agent converge as readily as it diverges.
- system design6 min
Holding a goal outside your head
I built a goal tracker and deleted its best feature thirty-eight minutes later. Anything that scores your own goals gets optimised against, including by you.
- system design6 min
The prose register
Five drafts in a day, all different, none better. The prose was not the problem. The loop that produced it had nothing that improved.
- system design6 min
Project Cyborg
Ten programs and 6,211 runs producing research nothing read back. Closing that loop is what separates a pipeline from an agent.
- system design8 min
Building hybrid search over a personal corpus
Searching my own corpus took up to forty seconds and two gigabytes of local models. The rebuild answers in under two seconds with neither.
- system design9 min
The organ as the unit of a personal AI system
An organ is not context handed to a model. It owns its state, exposes a command surface, and maintains itself, which is what makes the composition the interesting part.
- system design9 min
Writing a book to decide what to build
A language model is a stateless function from text to text. Everything that looks like intelligence around it is code somebody wrote. I wrote a book to find out where each piece goes.
- system design5 min
Defining an agent in a markdown file
A markdown document is addressable, which makes it a filesystem. Following that out produced an interpreter that turns a document into a running agent.
- essay13 min
OpenClaw Through the 10 Elements Lens
A technical decomposition of the viral AI agent.
- essay4 min
State Space Explosion
The combinatorial unease that builds when AI expands possibilities faster than you can prune them.
- essay21 min
The era of intelligence design
From prompt engineering to system architecture: a two-year journey.
- essay8 min
Prose is free now
How to make sure people get value from your AI-generated content.
- system design4 min
Taking apart the chat interface
A chat window is a terminal with one command. These are the other commands, and what each one changes about the interface.
- essay8 min
How I Broke Down the Process of Writing a Book with LLMs
What compilers can teach us about AI generation workflows. Generation is compilation: the quality of your output is limited by the quality of your intermediate representation.
- essay13 min
What is an Agent?
Agent is whatever you define it to be, because it's actually all just system design.
- system design7 min
Giving an agent a workspace instead of a list of tools
I gave an agent a workspace of stateful objects instead of a list of tools, then stopped one method from returning everything at once.
2025
- system design6 min
What an agent is made of
An agent is a model plus the modules installed into it. Restarting a two-year project from that one line is what decided everything after it.
- system design7 min
How I built a wiki that agents maintain
A blog is finished-shaped, which is why I never posted. A wiki assumes it is unfinished, and a folder of markdown is something an agent can maintain.
- system design6 min
Choosing a notation for a model to write in
A rich notation for a model to write in, deleted down to JSON with function calls as a primitive type. Syntax is for humans, and the writer here is not one.
- system design5 min
Working backwards from the mobile API
One abstraction was doing memory, logic and scheduling at once. A phone screen cannot render three jobs, which is a cheaper decider than another argument about it.
- system design7 min
Banning the word 'context'
I could not describe the system I was building. One word in the specification was doing four different jobs.
- system design8 min
Making prompts code-like without making them look like code
Prompts with the properties of code and none of its syntax. That rules out every control structure, because a conditional turns a paragraph into a program.
- system design7 min
How an agent acts when no program is running
An agent that only answers when spoken to is a function call with a personality. Acting on its own means one shared clock, and a tick that is a question rather than a process.
- system design8 min
Why I gave the AI object references instead of text
Every action an agent takes goes back through its own context window. Objects with methods let it compose operations without reading each result.
2024
- system design7 min
Searching my own journals
Four versions of the same tool. Each one exists because the version before it hit a limit I could name.
- system design7 min
The Raycast command stack
Automating a task means knowing in advance it was worth an evening. A keyboard shortcut costs almost nothing, which changes what a stack will admit.
- system design9 min
#AGIYOURSELF: ninety days of automations, ninety days of prompts
One automation a day for ninety days. An automation encodes one task and every assumption around it, which is why the automations were never the thing worth collecting.
- system design9 min
wcdcOS: designing a personal platform as an operating system
I wanted my bank transactions annotated with what I actually bought. Working out what that takes produced a kernel, a userland and a permission model.
2023
- system design6 min
The Annual Clock
I can plan a day and I cannot plan a year. So I mapped the year onto a clock face and borrowed the intuitions I already had.
- system design9 min
Cognitive Blocks
I sketched a background process that exposes an agent's abilities over an API, then tried to write a book with it to see whether the design held.
- system design8 min
agentenv: a local process for talking to agents
Put a model wherever a person could have been, or wherever there is a decision. The second rule is a different architecture, and it is the one that scales.
- system design5 min
Semantic blocks
English is loosely structured because it comes from speech. Text is a medium where you take in more at once, so I sketched the language in between.
- system design7 min
Project Hong Kong
I designed a personal system the way I would design software. It has a unit of work, a definition of done, and a degraded mode for a bad week.
2022
- system design6 min
Running smart contracts without a blockchain
CosmWasm is WebAssembly plus a specific list of imports. Once that list is written down it stops being a platform and becomes an interface you can implement.
- system design6 min
How we wrote and generated documentation at Terran One
Documentation was slow because I was doing every job at once. The fix was a compiler's. Separate the passes, then generate what the code can generate.
- system design8 min
How we built the CosmWasm simulator
A CosmWasm contract hands control forward and stops, so there is nothing to step through between calls. A simulator for it has to be a scheduler rather than a debugger.
2021
2020
- system design6 min
How I rebuilt a blockchain's documentation
I rewrote a blockchain's documentation twice. The second time I read the whole thing I was replacing before writing a word.
- system design3 min
Writing the same library twice
I wrote the same library twice in two languages. The second time I could say what makes progress visible on a surface too large to see.