xiv · viii · 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

3531 commits, 495 PRs, and 165 issues across 34 repositories.

Aug 2025 — Aug 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/dotfilesfeat(nvim): add surround editing with vim-surround keys1d
pact-foundation/pact_brokerstyle(matrix): build the baseline name lists the idiomatic way1d
pact-foundation/pact-pythonfix: report unserialisable messages instead of transport errors2d
pact-foundation/pact-pythonchore(tests): narrow message producer before accessing its handler2d
pactflow/actionschore: remove the dead release trigger and fix a comment typo3d
pactflow/actionsfix: wait for the release tag before reporting a stalled release3d

Latest issues & PRs

JP-Ellis/dotfiles[PR · merged]
feat(nvim): add neogit and diffview for in-editor git8h
JP-Ellis/dotfiles[PR · merged]
feat(vscode,nvim): per-profile extension sync and surround editing9h
JP-Ellis/dotfiles[PR · merged]
feat(gpg): hold key passphrases for a day of inactivity2d
pactflow/actions[PR · merged]
feat: add a pr-based release process3d
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