Colophon

How this site is built, and the checks that keep it fast and usable.

Quality gate

Every change goes through a pull request. A GitHub Action builds the site and runs Lighthouse on six pages; if performance, accessibility, best practices or SEO drops below 90 on any of them, the check fails. Scores when the gate was added, on 25 September 2026:

PagePerformanceAccessibilityBest practicesSEO
Home100100100100
Work99100100100
Projects100100100100
Writing100100100100
Speaking100100100100
CV100100100100

Current results are on the workflow runs page.

Built with

Live numbers

The figures under the headline come from the GitHub and PyPI APIs at build time, and the site rebuilds every night. If a source fails, that number is left out rather than shown stale.

Privacy

Visits are counted with Cloudflare Web Analytics, which sets no cookies and collects no personal data. There is nothing to accept and no banner.

For agents

My profile is available as llms.txt, llms-full.txt and resume.json (JSON Resume format), all generated from the same data as these pages. A public MCP server is planned next.

Pip

Pip is the site's plumber droid, drawn in SVG. It stays out of the way until you call it from the footer or type pip in the console.

Source on GitHub