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

4007 commits, 577 PRs, and 206 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/rust-skiplistrefactor: make cursor modules private2d
JP-Ellis/rust-skiplistfeat: add unchecked cursor inserts2d
JP-Ellis/dotfilesfix(update): install pinned mise tools instead of upgrading2d
JP-Ellis/borrow-checkerchore: move codecov config into .github/2d
JP-Ellis/enphase-apichore: add codecov config with tolerance2d
JP-Ellis/amber-apichore: add codecov config with tolerance2d

Latest issues & PRs

JP-Ellis/borrow-checker[issue · open]
list_accounts scans the ledger twice for balances and roll-ups1h
JP-Ellis/borrow-checker[PR · merged]
docs: dedup key identifies a row, not its content3h
JP-Ellis/borrow-checker[PR · open]
feat: roll up sub-accounts on the account page3h
JP-Ellis/rust-skiplist[PR · open]
refactor: raise MSRV to 1.98 and use bool::ok_or in Geometric1d
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