xxx · ix · mmxxvi

Hello, again

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

Senior software engineer at PactFlow (SmartBear). I help lead the open-source Pact Foundation and maintainpact-python; I also wrote tikz-feynman,rust-skiplist, and more.

Previously: data and cloud engineering at KPMG, and doctoral research in theoretical particle physics.

The year in code

4436 commits, 687 PRs, and 246 issues across 34 repositories.

Sep 2025 — Sep 2026
Most of what I make is open. Each square below is one day of my GitHub contributions over the past year.

Latest commits

JP-Ellis/borrow-checkerdocs: correct the crate map and bc-ui lint snippet20h
JP-Ellis/borrow-checkerfix(bc-app): explain a failed start in a dialog20h
JP-Ellis/borrow-checkerdocs(deploy): describe the post-restore reload21h
JP-Ellis/borrow-checkerfix(bc-ui): reload after a restore once server is up21h
JP-Ellis/borrow-checkerfeat(bc-cli): list external subcommands in help21h
JP-Ellis/borrow-checkerfix(bc-server): check X-Forwarded-Host against hosts21h

Latest issues & PRs

JP-Ellis/borrow-checker[PR · merged]
feat(mise): let dev:web listen on another address19h
JP-Ellis/borrow-checker[issue · open]
Server restore is confined to the backup directory it started with20h
JP-Ellis/borrow-checker[issue · open]
E2E never runs the typed (release) bc-ui build20h
JP-Ellis/borrow-checker[issue · open]
No task type-checks the e2e TypeScript20h

Selected projects

pact-pythonOSS · libraryPython bindings for Pact, rebuilt over a Rust FFI core. Downloaded over 1.3 million times a month.↗ github
tikz-feynmanOSS · LaTeXA LaTeX package for typesetting Feynman diagrams with TikZ; adopted across particle physics with 400+ academic citations.↗ github
rust-skiplistOSS · libraryA skip list for Rust.↗ github
↗ All projects