Nick Pagazani

Thirty years, three careers

Software engineer at Automattic, previously an engineering team leader and business-development manager. I take ownership of messy technical setups: migrations, fleet tooling, alerting, and the AI tooling that now runs through all of it.

Barcelona area, Spain · Remote

30 yrs
engineering, business development, then software
1,715
merged PRs across 429 repos at Automattic, 2022–2026, including fleet-wide rollouts
100k+
lines of Python in my own projects
~10
long-running services I built and operate

Case files

Most of my work is for Automattic partners and internal teams, on sites and systems I can’t show. Each case gives the problem, what I did and what changed, using the figures from the work. Clients are named only where the work is already public.

A major design publication

Moving a 360 GB media library off a paid CDN

$6,000+/mo saved, with zero downtime and no broken media

Problem
425,000 files across 21,000+ posts lived on a third-party image CDN that cost thousands a month.
Did
Wrote custom WP-CLI commands, REST processing, SQL and multithreaded Python to classify, convert, resize and re-upload every file, and rewrote post content and metadata to match, all on the live site.
  • PHP
  • WP-CLI
  • Python
  • SQL
WordPress.com Special Projects

Site-down alerts that stopped getting lost

~445 sites moved to a direct alert path

Problem
Downtime alerts travelled email → help desk → an internal relay, and some never arrived.
Did
Built a monitoring webhook receiver in the team’s ops platform and registered it on ~445 sites. When the SMS path misfired, the fix was up the next morning.
  • PHP
  • Webhooks
  • Monitoring
Fleet tooling

Finishing a stalled fleet rollout, then adding bot protection

100% of partner sites on Atlantis by July 2026

Problem
The team’s fleet-management plugin had been half rolled out for a year, which blocked other work.
Did
Drove the rollout to completion, then shipped 1.2.0 (bulk status API, CLI commands, an MCP helper) and 1.3.0 (bot protection, live on every Pressable-hosted site). Checked internal tools wouldn’t be blocked and got the owning team to move their switch under it.
  • PHP
  • CLI
  • MCP
  • E2E tests
WordPress.com translation platform · team of two

From a 2018 GlotPress fork to 4.0.3 in four weeks

60+ PRs in four weeks, with AI translations shipped

Problem
Translation infrastructure ran on a GlotPress fork frozen in 2018, with 53 custom plugins on top.
Did
Wrote the foundation (scaffold, loader, core patches), ported 15+ of the plugins, and fixed two data-integrity bugs along the way.
  • PHP
  • GlotPress
  • LLM
A long-running culture publication · 13 months

Using an LLM to decide which of 109,000 images to keep

~12K staff photos kept, ~97K third-party images removed

Problem
A copyright request covered a huge archive, and the scope changed four times.
Did
Wrote an LLM attribution script to separate staff shots from third-party images, recovered 350 video thumbnails from backups, and traced missing search thumbnails to a Jetpack Sync race, fixed across ~13,900 posts.
  • LLM
  • WP-CLI
  • Data
A city-guide site

Event search from 40 seconds to a tenth of a second

40 s → 0.1 s per search

Problem
A single event search took about 40 seconds.
Did
Replaced the query with a lookup table held in the object cache, simplified the SQL and moved filtering into PHP.
  • PHP
  • SQL
  • Caching
opensource.org

A press-page automation the client could run without us

Handed over running in the client’s own Make account

Problem
New press mentions were added by hand from a shared spreadsheet.
Did
Built a Make scenario from sheet row to WordPress post. Neither Make nor Zapier could fill the custom fields, so I moved them into the site’s plugin and mapped a hidden field to the taxonomy. Fit it inside the free plan, then removed our own data connection.

Public: OpenSourceOrg/dotOrg #116

  • Make
  • REST API
  • PHP
Automattic Special Projects

The team’s first plugin on WordPress.org

800+ active installs of Query Loop Load More

Did
Took the plugin through WordPress.org review and release, and documented the process for the team. Later finished, published and wrote the launch post for the Send to Substack browser extension (2025).

Public: WordPress.org listing · specialprojects.automattic.com

  • WordPress.org
  • Gutenberg
  • JS
Turtle Signals platform

Production Python services delivering signals to subscribers

~500 S&P 500 stocks, plus 36 crypto pairs around the clock

Built
Flask services for signal generation and results; Telegram delivery; a REST pull API for trading bots; an HMAC-signed webhook service with retries and dead-lettering; a heartbeat watchdog. Runs on Google Cloud with Secret Manager.
  • Python
  • Flask
  • GCP
  • Webhooks
Personal

A live equities system, from universe to execution

~5,400 stocks in the universe pipeline; rebalances a live account monthly

Built
A universe pipeline, walk-forward and Monte Carlo-validated backtests, and a FastAPI execution server that rebalances an Interactive Brokers account on systemd timers, with Telegram alerts.
  • Python
  • FastAPI
  • pandas
  • systemd

AI and engineering builds

Personal projects where I test ideas end to end.

Open source, Apache-2.0

stl2step: turning 3D-print meshes into editable CAD

100% of drawn parts within 0.1 mm on an 80-part corpus

An agent "draws" the part with sketches, extrudes and holes, while five deterministic checks measure the result and reject anything wrong. Ships as a Claude Code skill.

Public: github.com/nickpagz/stl2step

  • Python
  • build123d
  • Claude Code
Private, in progress

text-to-cad: an AI CAD editor in the browser

~158 pytest tests; every change verified before it lands

Drop in a mesh, then click a feature and tell the agent what to change, or drag a parameter slider. A measured A/B benchmark of cost, time and pass rate settled the architecture.

  • FastAPI
  • React
  • TypeScript
  • Three.js
  • A from-scratch CAD model

    Trained a PyTorch point-cloud encoder and transformer decoder that writes programs in a CAD language I designed. 100% valid output on held-out parts. Benchmarked against the state of the art and dropped the approach on the evidence.

  • A multi-agent book editor

    Eleven Claude Code skills with human approval gates edited a 34,000-word manuscript. A claim checker flagged 92 factual claims; a final audit confirmed nothing was lost.

  • Commercial plugins and apps

    Telegram and Discord access for WooCommerce and Shopify stores. Disturv is on the Shopify App Store; Subscriber Manager Lite is on WordPress.org. Role Manager for Discord has ~162 PHPUnit tests and CI across three PHP versions.

Approach

The agent proposes. Deterministic code verifies.
  • I write the plan before the code, and keep architecture and status notes in my repos so the next person, or agent, can pick it up.
  • Design decisions come from measurements: A/B benchmarks, backtests held out of sample, acceptance gates.
  • When something breaks, I trace it to where it entered and add a check so it can’t come back the same way.

Before software

Twenty years in engineering and business development, mostly in oil & gas. The full timeline has the detail.

  • Howard MartenTeam leader

    Reworked how design fed manufacturing: floor time from 5 weeks to 2 and about 80% less supplier rework on API 614 lube-oil systems.

  • WorleyParsons Abu DhabiBD & strategy

    Led 10+ people across four countries and won pursuits worth $30M to $100M+ each.

  • WorleyParsons CanadaProposals

    Halved proposal admin time and cut reporting from 9 hours to under 2. Met every RFP due date.

What colleagues said

Three of 107. Read every kudo and excerpts from my leads’ reviews.

“Handled all edge-cases masterfully and helped us improve processes along the way.”
Automattic colleague, on a fleet-wide update
“Thorough and brilliant… consistent and communicative.”
Automattic colleague, on the image cleanup
“The engine room in our often rudderless ship.”
WorleyParsons colleague