Hey there, I’m Brooke, a composer-turned-programmer living in beautiful, rainy Vancouver. You can find me most places online as @expede. I’m currently a senior researcher at Ink & Switch where I work on securing and syncing CRDTs (e.g. Keyhive and Subduction). I’m also the editor of the UCAN core specs. Previously I ran Fission Codes, and before that several other startups. I give a fair number of talks and keynotes.

This is my digital garden — notes in various stages of completeness published in the spirit of working in the open. Some are polished essays, some are rough working notes, and some are mere stubs. That’s by design.

What I Work On

My research these days centres on maturing local-first software — the hard problems around sync, security, and access control that come up when you remove the central server.

ProjectWhat it is
KeyhiveAuthorisation for local-first systems like Automerge
SubductionPeer-to-peer sync protocol for CRDTs
UCANDecentralised auth specs (I’m the editor)

Where to Start

Popular entry points

Topics You’ll Find Here

AreaWhat’s in it
Local-first / CRDTsSync protocols, Automerge, conflict resolution, CALM
Cryptography & authKeyhive, UCAN, WNFS, capability security
WasmPractical patterns, wasm-bindgen, wasm_refgen
Programming languagesHaskell, Rust, Elixir, type theory, Witchcraft
Distributed systemsConsensus, cloud programming, replication
ConferencesNotes from many events I’ve attended or spoken at

About This Site

Built with Quartz on top of markdown files in the style of an Obsidian vault (though I do everything in emacs instead of Obsidian). Everything is heavily cross-linked — the graph view and backlinks are your friends here. If you prefer to browse by topic, the explorer sidebar and search both work well.