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

3906 commits, 541 PRs, and 203 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

JP-Ellis/borrow-checkerdocs(bc-core): say unvalued spans the carry chain17h
JP-Ellis/borrow-checkertest(bc-cli): cover unvalued in budget status json17h
JP-Ellis/borrow-checkertest(bc-core): cover a chain across tag-filtered reigns18h
JP-Ellis/borrow-checkerdocs(bc-plugins): name BadValue in wit_posting's errors18h
JP-Ellis/dotfilesfeat(nvim): give mini.surround its native `s` prefix20h
JP-Ellis/borrow-checkerfeat(bc-cli): structure other_skips in sync --json20h

Latest issues & PRs

JP-Ellis/borrow-checker[issue · open]
Share one leg parser between bc-cli and bc-ui13h
JP-Ellis/dotfiles[PR · merged]
chore: ignore .vscode20h
JP-Ellis/dotfiles[PR · merged]
feat(bin): add bot-prs for bulk-merging Renovate and Dependabot PRs20h
JP-Ellis/dotfiles[PR · merged]
feat(nvim): type-check Python with ty and dmypy20h
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