xxi · 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

4103 commits, 593 PRs, and 207 issues across 34 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

JP-Ellis/borrow-checkertest(e2e): allow the cold start again after a reload15h
JP-Ellis/borrow-checkerfix(bc-ui): key register rows on the rows epoch15h
JP-Ellis/borrow-checkerdocs(gui): note the paging exception to LocalResource17h
JP-Ellis/borrow-checkertest(e2e): make the load-more paging test robust17h
JP-Ellis/borrow-checkertest(e2e): wait for the filtered page before expanding17h
JP-Ellis/borrow-checkertest(e2e): fold the balance label's NBSP before comparing17h

Latest issues & PRs

pact-foundation/jest-pact[PR · open]
ci: release through a git-cliff release PR14h
pact-foundation/jest-pact[PR · merged]
chore: rebase Renovate branches only on conflict17h
pact-foundation/jest-pact[PR · merged]
docs: update README, CONTRIBUTING and RELEASING for the new toolchain18h
pact-foundation/jest-pact[PR · merged]
chore: adopt Renovate best-practices config and Codecov18h
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