projects

Current experiments in what agents should remember, what they should be allowed to do, and how their work can remain inspectable—alongside earlier work on the open social web.

01

Arcwell

local-first assistant infrastructure · private

Arcwell is the assistant infrastructure I wanted around Codex: durable memory, cited research, scheduled watchfulness and reusable skills, with its state kept together locally so I can see what it knows and what it is doing.

rust · mcp · agents · memory

02

codex-swift

native agent runtime

codex-swift treats Codex as a native Mac service, detached from any one terminal. It remains compatible with existing Codex clients while isolating sessions and leaning on Keychain, Seatbelt and launchd for the jobs macOS already knows how to do.

swift · macos · agents

03

open-cloud

local developer platform

Local tests should be able to exercise Cloudflare’s programming model entirely on the machine running them. open-cloud runs Workers and their bindings on a laptop or CI runner, keeping state in ordinary SQLite files and directories so failures can be inspected rather than chased through a dashboard.

typescript · cloudflare · local platform

04

mem0-rs

agent memory substrate

mem0-rs moves mem0 2.0.4 from Python to a self-contained Rust binary because memory sits on an agent’s hot path. The port preserves the extraction prompts and retrieval behaviour that determine what the agent remembers.

rust · ai · memory

05

code-search

orientation before editing

Grep is excellent once an agent knows what a repository calls things. code-search gives it a reconnaissance pass first, using BM25-ranked results to teach it the local vocabulary before exact or regex search takes over.

rust · search · agents

06

claude-code-goal

durable agent goals

It drives me nuts when an agent stops with half the job still sitting there. claude-code-goal keeps the objective in inspectable Markdown and uses Claude Code’s lifecycle hooks to continue the session until the work is complete or its iteration limit is reached.

python · claude code · plugins

07

Interviewer

voice-first agent orchestration

A blank page is a poor way to discover what you know. I built Interviewer to draw it out in a voice conversation that feels like speaking with somebody who is paying attention; seven agents plan, listen, research, challenge and shape the exchange into a draft.

swift · voice · multi-agent systems

08

ec-developer-dashboard

developer-program measurement

I built this to answer the question DevRel dashboards usually avoid: what did developers actually do after the event? It follows participants from their first contribution to deployed packages and mainnet transactions, so a programme can be judged by what it produced rather than how busy it looked.

typescript · dashboard · devrel

Smaller tools

Narrower tools, each made to remove a recurring irritation from the way I build or test software.

Standards and earlier specifications

Specifications and reference implementations for social applications, identity, authorisation, portable contacts, and API contracts.