Work

Systems I've designed and built — and the ones I archived, with the reason attached. Failure is data.


Shipping now

Flagship

Levain

Portable cognitive-partnership memory and methodology kit. Methodology core, harness adapters for Claude Code and Codex, and scripted onboarding via CLI or a locally-hosted web pane. Built on anneal-memory as a layer-1 dependency. Memory that persists across sessions and stays yours: nothing reaches long-term memory except through a path you govern.

v0.4.7 · Apache-2.0 · PyPI

GitHub →
Live

anneal-memory

Open-source agent memory architecture. Four cognitive layers — episodic store, continuity file, Hebbian association, affective state — with a cross-layer immune system (citation-validated graduation, anti-inbreeding defense, principle demotion) and a hash-chained JSONL audit trail. The constructive existence proof for the harness paper's §9.

v0.9.11 · 12 integrations · zero deps · MIT

GitHub →
Live

Flow System

Distributed cognitive infrastructure for human-AI partnership. Multi-AI orchestration with parallel consultation, real-time sensor pipelines, automated scheduling, and relay protocols for cross-system communication. The working harness instance behind the papers. The system itself is private; the methodology is open.

Python · FastAPI · SwiftUI

Methodology →
Shipped

Clapham Digital

Consumer apps shipped under my studio, Clapham Digital — Video Poker Edge, math-optimal strategy training verified to 0.004% precision, and Blackjack Edge. One-time purchase, no ads, no in-app purchases, no data harvesting. The studio also does client work across web, software, and AI.

Web · Software · AI

claphamdigital.com →
Not publicly released

flowConnect

Native iOS companion to the Flow System. Real-time context signals, push notifications via APNs, interactive widgets for status and energy input, barometric tracking. Built for one user and running daily — there is no public build to point at, so treat this as a note rather than a claim.

SwiftUI · WidgetKit · APNs


You can't quietly revise the past

The audit chain · snapshot 2026-07-20

What my system remembers gets written to a log, and each record carries the SHA-256 of the entire record before it. Change one entry from last month and every hash after it stops matching. Nothing here prevents anyone editing that file, and that’s the point — the chain doesn’t stop tampering, it makes tampering detectable. That’s a far cheaper property to guarantee and a far harder one to fake, and it’s what “governed, not trusted” actually buys you. Below are real hashes from my own store.

$ python -c "from anneal_memory import AuditTrail; \
    print(AuditTrail.verify('~/.anneal-memory/memory.db'))"

AuditVerifyResult(valid=True, total_entries=5503, files_verified=9,
                  chain_break_at=None, chain_break_file=None,
                  skipped_lines=0, error=None)

5,503 entries, 9 files, no breaks, as of 2026-07-20. Those numbers only go up, so treat them as a floor. Don’t take my word for any of it — pip install anneal-memory and run the verifier against your own store. Being checkable by a stranger is the entire point.


The harness, mapped

Seven loops · four closed · three open

“Each property is a loop, and a harness is what you get when the loops close.” — §7. These are the seven named in the paper’s mechanism catalog, and which of them are actually closed by shipped code. Three are not. Click any loop to see what it composes with.

Closed · anneal

Memory

The temporal loop · §7.1

Connects the generator to its own past — experience from earlier moments staying available to shape later behaviour.

Closed · anneal

Identity

The persistence loop · §7.2

Derived: what emerges when memory plus selection operates over time. The generator contacts its own prior commitments.

Closed · anneal

Affective state tracking

The valence loop · §7.4

What tells the system which parts of experience matter and which can be ignored. Rides the association layer as intensity.

Half closed

Immune response

The grounding loop · §7.6

Protects the generator from its own confabulation. Two subtypes: internal consistency grounding is closed here; external grounding is not.

Open

Deliberation

The alternative-sampling loop · §7.3

Lets a generator weigh its own candidate outputs before committing. §9.3 assigns it to the agent runtime, above memory.

Open

Social competence

The other-minds loop · §7.5

Lets a generator contact the predicted responses of other minds. §9.3 places it in multi-agent coordination, above memory.

Open

Orchestration policy

The meta-loop · §7.7

Decides which loop’s output wins when they conflict. Most production failures are composition failures between correctly-built loops.


Web infrastructure & WordPress

Before the harness work, and still: two decades building, migrating, and operating production websites — WordPress hosting at enterprise scale, WooCommerce performance, and the DevOps underneath. The near-term, proven half of systems that work. Available for contract builds, migrations, performance work, and ongoing maintenanceget in touch.

2024–2026

Pressable (Automattic)

Sole Senior Solutions Architect and Technical Account Manager for the enterprise portfolio. Authored the performance-audit workshop and the load-testing and capacity-planning tooling that became the organization's standard motion. Built the WordPress.com → managed-host migration tooling and handled thousands of migrations through the WP Engine / Automattic disruption. An AI-assisted performance tool that cut full seconds off WooCommerce checkout and preserved multi-six-figure accounts.

Enterprise WordPress hosting · WooCommerce · Fortune 500 infra

2020–2024

Forefront Web

Lead Support Developer across 300+ web properties. Rebuilt reactive support into structured technical enablement — average resolution dropped from 2–3 weeks to under 2 days. Authored Digital Security for Website Owners, used across the client base.

300+ properties · security · enablement

2018–2020

InflatableOffice

Built custom ecommerce platforms and managed infrastructure for 300+ client sites across 10+ servers. Custom integrations and developer tooling at early-stage team size.

300+ sites · 10+ servers · custom ecommerce

2011–2024

Independent consulting

Thirteen years of solo technical advisory for organizations without a supporting firm — OCCRRA, Marana Healthcare, nonprofits, and government-adjacent groups. Solution design, training delivery, and long-term technical guidance.

Solo advisory · training · long-term care

The open-source proof of the DevOps half is below — MicroChaos CLI, WP-CLI load testing for environments where external tools can't reach.

Open source tools

Maintenance mode

FlowScript

Semantic notation for high-density AI communication and encoded cognition. Compresses complex relationships into symbolic form that reveals structure verbose prose hides. Typed semantic queries, hash-chained audit trails, convergence certificates via stratified fixpoint computation. Its core concepts evolved into anneal-memory; the notation stays in daily use, and the site remains an active learning resource with a playground that runs it in your browser.

9 Python adapters + Vercel AI SDK · 1,615 tests · MIT

flowscript.org →
Open source

MicroChaos CLI

WP-CLI load testing for staging environments where external load testing is restricted. Warm or cold cache, anonymous or authenticated, fast bursts or slow burns. Chaos engineering for managed hosting infrastructure.

PHP · WP-CLI · GPL-3.0

GitHub →

Publication

Nemo Operans — a publication on minds and machines, where the research and essays live. I built the infrastructure, and the writing runs through it in partnership. The papers themselves are on the writing page, where they belong — a paper is not a tool.

Archived

Archived

Protocol Memory

Built as a product; discovered it was actually private infrastructure. The architecture evolved into the Flow System. Its design system outlived it as this site's stylesheet for far too long — now replaced.

Archived

FlowScript Cloud

A hosted layer for a notation whose barrier was never hosting. Developers won't learn a new language for memory — that finding is what redirected the work into anneal-memory.


Want to build something together?

Get in touch → Read the theory →