Field notes from systems work

Chris Iacofano

Fifteen years of making operational systems understandable — and now building them. I direct AI coding agents, personally review and merge every change, and run the CI that checks them. Every stratum below is load-bearing.

I.

The record

counted from GitHub, not remembered
5,300+
pull requests I personally reviewed and merged
past 12 months · two GitHub accounts · GitHub-counted 15 Oct 2026
11
self-hosted CI runners I built and operate, all online
Linux x64 · Linux ARM64 · macOS ARM64 · registered 15 Oct 2026
14+
repositories with merged work
past 12 months · lower bound from a GitHub search sample
≈1M
support tickets migrated in production
approximate · led and coordinated, cross-functional

I direct AI coding agents: they draft the code; I scope each change, review every diff, and merge each pull request myself. In a 100-PR sample, 99 were merged by hand with auto-merge off.

II.

Skills, with receipts

each links to the plate that proves it
2026 Self-hosted CI runner fleet 2025 — Governed AI workflow control 2025 ≈1M-ticket support migration 2021 – 25 Knowledge systems & platform 2019 – 21 Support engineering 2013 – 17 Bench & small-business systems 2009 – 12 Film & AV operations deepest strata carry the rest
Fig. 01 The record in section. Each stratum opens as a numbered plate; the figure on the rim is for scale.
III.

Selected plates

each opens a full case study with receipts
Plate 01

Migrating a support history, one million tickets at a time

Led a Zendesk-to-HubSpot migration of approximately one million support tickets — cleanup, validation, workflow changes, QA, and cutover support, coordinated across teams while production kept running.

SystemsData migrationOperations
moved: ≈1,000,000 support tickets (approximate, qualified)
scope: cleanup · validation · workflow change · QA · cutover
ownership: led, coordinated — cross-functional, not solo
Plate 02

A workflow-control platform where "ready" is not "authorized"

Designed and operates a governed workflow platform with explicit task states, leases, approval gates, human/AI handoffs, and verification artifacts — so status is checked, never inferred from prose.

Personal · AI-assistedEngineeringGovernance
surface: task states · readiness · assignments · leases
controls: approval gates · human/AI handoffs · verification artifacts
ownership: designed, implemented, reviewed — collaborative, AI-assisted
Plate 03

Running my own CI: a self-hosted, resource-governed runner fleet

Heterogeneous self-hosted runners with canary checks for identity and cgroup envelopes, a custom Docker runner image, SHA-pinned actions, and a hardened untrusted-PR boundary — thousands of pull requests through it.

Personal · AI-assistedDevopsCI security
fleet: Dell linux-x64 docker-class + Mac mini runners
envelope: 8 GiB mem · 2048 pids · 4-core cpu.max, canary-verified
throughput: 2,100+ PRs in ~5 months (repo-counted)
Plate 04

Content governance that outlives its author

Authored documentation standards and implemented content models, metadata, permissions, review, QA, and publishing workflows for a production help center — so customer guidance stays maintainable without unwritten knowledge.

Knowledge systemsGovernance
authored: documentation style & publishing standards
implemented: content models · metadata · permissions · intake · review · QA · publishing
ownership: led, implemented — with contributors and subject-matter experts
Plate 05

Owning a production help-center platform

Roadmap and production-health ownership of a customer-facing knowledge platform, with hands-on application, testing, release-readiness, and troubleshooting work alongside collaborators.

Platform opsKnowledge systems
owned: roadmap · production health
hands-on: application · integration · testing · release-readiness · troubleshooting
audience: scale figure omitted — unconfirmed at publish time
Plate 06

Local retrieval for difficult recall

A Python, SQLite, and FTS5 helper that indexes curated evidence and returns source-linked results with no network dependency — built because real-time recall is hard, and verified in implementation.

Personal · AI-assistedEngineeringAccessibility
stack: Python builder + query CLI · SQLite · FTS5
behavior: indexes curated sources · normalized queries · ranked, source-linked results · fallback search
status: verified — the inspected implementation, not every indexed claim
Plate 07

Less noise, same evidence

Re-profiled a live registry read path and cut the default status payload roughly eightfold while preserving full audit detail as an explicit option — with regression coverage to keep it honest.

Personal · AI-assistedEngineeringPerformance
default path: ≈304.9 KiB · 823 rows → ≈36.8 KiB · 177 rows
benchmark: project-specific, from the working source — not a portable figure
audit detail: preserved in full as an explicit opt-in · regression coverage added
Plate 08

An archive that shows its sources

An evidence-first family-history archive: source records modeled before narrative, record-level privacy decisions, and static publishing one person can maintain part-time.

PersonalKnowledge systemsInformation architecture
claims: every published statement traces to a named source record
privacy: publish or withhold decided record by record
maintenance: one person, part-time, static output
IV.

Method

Claims on this site keep their qualifiers. Counts marked ≈ are approximate and recorded as such; metrics I can't source don't appear at all. Personal projects are labeled, AI-assisted work is disclosed, and nothing here implies sole credit for cross-functional work.

That isn't modesty — it's the discipline the work is about.