Open source

I have written and maintained open-source software for over twenty years. These are the projects that matter most right now.

haiku.rag

Agentic retrieval-augmented generation that answers questions about your own documents, with citations that quote the source passage, give its page and section, and show it highlighted on the original page. Runs on an embedded database, on local disk or object storage, with no database server to run. Works with any model provider Pydantic AI supports, including locally hosted open models. Built on LanceDB, Pydantic AI and Docling.

When a question needs computation rather than retrieval — counting across documents, comparing sections, aggregating figures — the model writes Python and runs it in a sandbox with the documents mounted as a virtual filesystem and search available from code.

It is evaluated end to end on five public datasets — OpenRAG Bench, T²-RAGBench, HotpotQA, FRAMES and MTRAG — scoring retrieval, answer accuracy and citation quality. Methodology and results are published in full.

oterm

A terminal client for large language models: Ollama, OpenAI, Anthropic and any provider Pydantic AI supports. Persistent chats, tool use through MCP servers, image input and spoken responses.

behaving

A web application testing framework for behaviour-driven development, built on behave and splinter. It adds step libraries for multi-user web, email and SMS interactions.

Plone

Member of the Plone CMS Framework and Security teams, 2010–2012, and author of several add-ons in the Plone ecosystem.

Everything else is on GitHub.

Generative artwork: detail of a teal field meeting a dark ground along a soft horizon.