x · ix · mmxxvi

Hello, again

I codify contracts between systems for a living, in Rust and Python; and once spent a decade chasing where the antimatter went.

Senior software engineer at PactFlow (SmartBear). Open source contributor to pact-python,tikz-feynman, rust-skiplist, and more.

Previously: data and cloud engineering at KPMG, and a PhD in theoretical particle physics.

The year in code

3783 commits, 520 PRs, and 189 issues across 36 repositories.

Sep 2025 — Sep 2026
Most of what I make is open. The grid below is the truthful version of a résumé — public, dated, and dense in the parts where I was paying attention.

Latest commits

pact-foundation/pact-goci: fold golangci-lint into the test workflow1d
pact-foundation/pact-gochore(ci): use mise-manage pact broker tokens2d
pact-foundation/pact-gochore: fix docker compose2d
pact-foundation/pact-gochore: replace tag with branch names2d
pact-foundation/pact-gochore(ci): add sentinel job2d
pact-foundation/pact-gochore: add do-not-track2d

Latest issues & PRs

open-telemetry/opentelemetry-ruby[PR · open]
fix: Allow span processors to mutate a span from on_finishing7h
JP-Ellis/borrow-checker[PR · merged]
chore(deps): update prek hooks10h
JP-Ellis/borrow-checker[PR · merged]
chore(ci): configure coverage10h
pact-foundation/pact-go[PR · merged]
fix: wait for a plugin transport to accept before returning its port1d
Selected projects
pact-pythonOSS · libraryPython bindings for Pact, rebuilt over a Rust FFI core. The version most pact-python users actually reach for.↗ github
tikz-feynmanOSS · LaTeXA LaTeX package for typesetting Feynman diagrams with TikZ; adopted across particle physics with 400+ academic citations.↗ github
rust-skiplistOSS · librarySkiplist data structure implementation in Rust.↗ github
↗ All projects