Why we chose Go for the Reflex agent (and what we learned)
The Reflex Team5 minFebruary 2026
We are a Laravel company. Our dashboards are Laravel. Our billing is Laravel. So when we sketched the first reflexd agent, the default answer was PHP: same runtime as our customers, same muscle memory, Composer for everything.
We still shipped the agent in Go. Here is the candid version of that decision—not the LinkedIn triumph arc.
What we wanted reflexd to do
Long-running process on every server: heartbeat, command channel, metrics scrape, log tail slices, systemd interactions, safe exec of repair playbooks, backoff when the network flakes. It needs to be boring in the way daemons should be boring: small RSS, fast startup, clean cross-compilation for amd64 and arm64, and concurrency without ceremony.
Why PHP kept fighting us
Not because PHP is "bad". Because the deployment model is different. A long-lived PHP CLI worker is absolutely doable—Laravel Horizon proves it every day—but you are still carrying runtime weight and ecosystem choices that shine for request/response and hurt for a tiny system daemon.
We cared about:
- Static binary we could sign, checksum, and drop on a box without debating which
php-climinor version matched FPM. - Goroutines for concurrent health checks without a pile of async libraries.
- Predictable memory under tail -f style workloads.
Could we have written it in PHP? Yes. Would we have spent more time being clever about process supervision and less time on repair quality? Also yes.
Trade-offs we accept
Two languages in one product means two build pipelines, two sets of CVE monitoring, and onboarding friction for contributors who only know PHP. We decided that cost was smaller than the cost of an agent that felt fragile on a busy box.
What we learned
Go's standard library is aggressively okay at networking. Cross-compilation is as good as advertised. The hard part is still policy: what reflexd is allowed to touch, how we prove it, and how we never surprise a customer with a silent rm -rf.
If you are evaluating Reflex and the Go choice worried you: fair. Ask us for the agent threat model—we would rather answer that in a security review than oversell "AI magic" in a landing page.