Phil Springer · AI Infrastructure Engineer
AI Infrastructure Engineer / Phoenix / since 2010

I build agent systems on infrastructure I own.

Production multi-agent systems, verified by independent models from rival labs before anything ships. Self-hosted wherever it can be, frontier where it counts.

1 · build
Claude hands the work to Codex
Claude Codex
2 · two lineages parallel
one question, fired at two lineages at the same time
OOrnith Gemini
3 · teardown
a third lineage that built none of it tries to break it
Grok
before ship
two lineages in parallel, then an adversarial pass
5independent lineages on one decision
reviewing
who

Sixteen years, my own shop.

B.S. Computer Science, Southern Oregon University, 2010. Independent technology founder ever since, and I've run my own S-corporation for sixteen years. Over the last few I rebuilt the entire operation around applied large language models.

I own the whole stack and ship end to end. Nothing I build is a demo. It runs my own business in production every day, with real revenue riding on it.

method

I don't ask one model twice.

When a decision matters, I ask independent lineages once each. Agreement between models trained separately by rival labs is evidence. A model agreeing with itself is not; it is the same perspective twice.

Two lineages, fired at the same time, and I read both answers. That is the whole mechanism. There is no judge and no score, because a scoring layer is a third model's opinion wearing a number. Separate calls to separate labs cannot contaminate each other, so agreement between them was reached independently, and any disagreement is resolved before release. What survives goes to a third lineage whose only job is to break it, and that one had no hand in building what it is attacking.

Work iterates until independent lineages converge. Every issue is resolved in review, before release, by a model other than the one that produced the work. A single-model pass cannot offer that guarantee.

eight lineages, and four of them run on hardware in my office
LineageModelRuns onSeat
AnthropicClaudecloudOrchestrator
OpenAICodexcloudBuild
GoogleGeminicloudSecond reading
xAIGrokcloudTeardown
OrnithOrnith 1.5-397BMac Studio, 512 GBHeavy reasoning
NVIDIANemotron 3.5 Lightning 30B-A3BMac Studio, 512 GBVerification
ZhipuGLM 5.3 FlashMac Studio, 512 GBStandby
AlibabaQwen 3Mac Studio, 512 GBTriage

Two models from two labs is a second opinion. Eight lineages is a method.

Four of those seats run on one machine I own. The 512 GB Mac Studio holds the heavy model and three more beside it. The silicon is bought, not billed. That is not a cost decision, it is what makes a lineage mine instead of rented, and it is why a lineage cannot be taken away from me.

The same flow runs at two settings. Verification goes at maximum reasoning, where depth is the product. Code against a named test goes down the identical path at medium, where depth is pure cost. One process, one place to change it, and no argument about which path a piece of work took.

Lineage is enforced in code. It is a property of the code that makes the call, not a label in a config file, so every seat's independence is guaranteed by construction.

No reviewer shares the builder's lineage. A model reviewing its own output is not a review, so independence is a hard rule, not a setting.

stack

What I actually run.

Orchestration

Multi-agent systems

Coordinating frontier models with self-hosted open-weight LLMs over MCP. Agentic coding is the daily driver, not an experiment.

Claude
Codex
OOrnith
NNemotron
Gemini
Grok
ZGLM
Qwen 3
Hermes · local

Local inference

One machine, four lineages, none of it rented

Real compute I own and run, not a rented endpoint. The Mac Studio holds four different model families, so four of the lineages I read cannot be taken away from me by a price change or a policy change. The capacity is loaded and unmetered rather than busy, which is the point: I can leave a model resident all day. Speech is local too: the GPU in my Ryzen workstation runs Whisper large-v3 for dictation and video transcription, so none of it leaves the building either.

Mac Studio
LM Studio
Hugging Face
Speech · on device
resident now, on the Mac Studio
OOrnith 1.5-397B · Mac Studio, 512 GBlive
NNemotron 3.5 Lightning 30B-A3B · Mac Studio, 512 GBlive
ZGLM 5.3 Flash · Mac Studio, 512 GBstandby
Qwen 3 · Mac Studio, 512 GBlive

On the Mac the heavy model does the long reasoning, and lighter ones sit beside it to triage and verify instantly. They stay resident together, because the memory is mine and nobody meters it, so I can leave a reasoning model loaded all day for work that would be economically irrational to run on rented inference.

Languages

All in production.

Every one of these has shipped something that runs in production. Daily drivers first.

daily
Python
PHP
Laravel
Shell
shipped
JavaScript
TypeScript
Node
SQL
Next.js

Infrastructure

A self-hosted fleet.

Linux servers, plus a 2021 workstation I rebuilt into one. When it came out of daily service I wiped Windows off it, put Linux on, and gave an autonomous agent real work to do there. That is where the self-hosted side of this came from, and I learned it by operating it rather than reading about it. It runs my private Git and automation now. My own Git, my own servers, my own models.

Contabo
Linux
Forgejo
Tailscale
Caddy
nginx
Docker
Cloudflare
MariaDB

Model work

Where the leverage is.

Prompt and context engineering, evaluation harnesses, adversarial red-teaming, RAG, and mutation testing that proves every test suite actually catches defects.

Red-teaming
RAG
Evaluation
Mutation testing
sovereignty

The same decision, made repeatedly.

Self-hosted file sync instead of Drive. My own git instead of GitHub. My own calendar instead of Google's. My own relay instead of the vendor's. My own dictation instead of a cloud transcriber. Local models for everything that doesn't need a frontier one. A de-Microsofted editor build.

Each one is real engineering, carried through to production and maintained since. Data, code, schedules, messages and voice stay on infrastructure I control.

That list isn't a set of tools. It's a position, held consistently.

the rule

Local where it can be. Frontier where it counts.

If it can run in the building, it does. Speech runs on a local Whisper. Files, git, calendar and the message relay are all mine. Four of the eight lineages run on hardware in this office.

Frontier reasoning comes from the best labs in the world: Anthropic and OpenAI orchestrate and build, Google and xAI provide the second reading and the teardown. I use all four daily, each for what it does best. That split is deliberate.

standards

How I ship.

Three standards every system I build is held to. Green means verified, not assumed.

Every check is proven.

Each monitor and test gate is mutation-tested: a defect is planted on purpose, and the check must catch it before it is trusted in production.

Every measurement carries a control.

Every search and comparison runs alongside a known-present control, so a clean result is proven clean.

Every decision is independently verified.

Consequential work is reviewed by models from separate labs, and an adversarial pass from a lineage that did not build it signs off before release.

closing

Open to the right role.

Senior and staff AI infrastructure, agent platform and LLM evaluation roles. Remote preferred, Phoenix hybrid welcome. This page exists so you can judge the engineering before we talk.