The CTO's Guide to Composable Commerce
GuideJune 202379 min read
A comprehensive guide to composable commerce and headless architecture on Shopify: the patterns, the trade-offs, and where each one earns its keep.
Papers and essays on applied AI and the engineering around it: RAG systems, vector search, agentic tooling and MCP, real-time and procedural rendering, and composable commerce architecture. Several are as much about the limits of these tools as their uses.
GuideJune 202379 min read
A comprehensive guide to composable commerce and headless architecture on Shopify: the patterns, the trade-offs, and where each one earns its keep.
Two pieces from inside an agency's agent tooling: the engineering harness that enforces rules the model might ignore, and a visual workflow canvas where the wires also carry the permissions.
Method descriptionAugust 202611 min read
What I learned building an engineering harness for coding agents: put hard rules in hooks, CI and platform permissions, end every skill on a real check, and test shared improvements before other clients inherit them.
System descriptionAugust 20268 min read
An agentic workflow canvas built on durable backend agents. Capabilities flow only along the edges people draw, and invalid graphs are refused before they can be saved.
Three pieces about rendering the Open Exoplanet Catalogue as explorable 3D scenes, deriving planet appearances from sparse measurements, and being clear about how much of each alien world has been invented. See the project.
System descriptionJuly 202629 min read
I turned all 4,081 systems in the Open Exoplanet Catalogue into explorable 3D scenes, deriving each planet from its recorded parameters instead of painting it by hand.
Method description and epistemic boundsJuly 202627 min read
How I turn sparse exoplanet records into sixteen kinds of procedurally rendered world, while keeping measured, inferred and invented details visibly separate.
Survey and synthesisJuly 202618 min read
Exoplanets are pictured everywhere and seen almost nowhere. I looked at press art, planetarium software and procedural universes to ask what the imagery helps us understand.
Four pieces about a retrieval-grounded interface to Roman prose: how the system works, where retrieval fails, what the old translations change, and whether giving the dead a synthetic voice is a good idea at all. See the project.
System descriptionJuly 202643 min read
I built a reading interface for a multi-author Roman corpus, with retrieval grounded answers, author-specific first-person voices and a gallery of sculpted busts that answers aloud.
Survey and synthesisJuly 202612 min read
Where retrieval helps a reader explore a Roman archive, where it falls short, and why author filters and visible citations matter as much as the model.
EssayJuly 202611 min read
The Roman Archive uses public-domain translations from several centuries. Here is what their English preserves, what it changes, and why the translator matters to retrieval.
On synthetic personae for historical figuresJuly 202615 min read
What it means to let readers address Roman authors in the first person, and the constraints needed to keep a reading device from turning into historical forgery.
Two pieces about a git-backed documentation platform: how it handles workspaces and model access over MCP, and why its vector search does the job in two passes.
System descriptionJune 202617 min read
How I kept engineering documentation in git, made it editable in a browser and opened it to language models over MCP, including the tidy assumptions that later became multi-tenant bugs.
Technical noteJune 202612 min read
How I used Matryoshka embeddings to shortlist against a smaller vector and rerank against the full one, including the early measurements that made the idea look rather silly.
Three pieces about making the Bleek–Lloyd ǀxam folklore corpus easier to read, the much harder problem of recovering a sleeping language's sound, and the limits of language technology in endangered-language archives. See the project.
System descriptionJune 202647 min read
I built a retrieval-grounded reading interface for the public-domain Bleek–Lloyd ǀxam folklore corpus, so a general reader can explore it without losing sight of the notebooks.
Feasibility study and project proposalJune 202623 min read
Why current speech tools cannot pronounce ǀxam clicks, and what a community-led pronunciation layer built with the living sister language Nǀuu would actually require.
Survey and synthesisJune 202644 min read
What language technology can actually do with the archives of endangered and sleeping languages, across cases from Kenya, Aotearoa and Cornwall, with ǀxam as the worked example.