work/arborxr — Victor Agnew

Victor Agnew

Staff AI Platform Engineer · Vancouver, BC

Boring deploys. work/ Safe AI. ai-lab/ Happy teams. virtual-office.md

PIPELINE
>20 min → <5 min
DEPLOYS
weekly → hundreds/week
FAILED PIPELINES
<1%
CREDENTIAL ROTATION
6 months → 24 h
REVIEW ENV
~$9/day
GCP SPEND
−40% YoY
MCP TOOLS
160+ → 23
VIRTUAL OFFICE
~1 h 40 min
virtual-office.md Virtual office three.js · Cloudflare Workers · LiveKit Built in a day; 26 days later, 1,600+ commits and 12 coworkers committing.
Close work/arborxr Back

work/arborxr

ArborXR

Staff Platform Engineer · Sept 2022 – present

/ Platform

  • Moved push-based IaC deploys out of GitLab CI/CD into GitOps with FluxCD: pipeline time from >20 min to <5 min, pipeline failure rate below 1%, deploys from weekly to several hundred per week.
  • Rolled out HashiCorp Vault and Vault Secrets Operator so every service uses dynamic credentials, rotated every 24 hours with zero downtime instead of every 6 months. case-studies/dynamic-credentials.md
  • Built a request-based Boundary workflow that gives developers just-in-time, temporary, audited access to services in private VPCs, following least privilege. case-studies/dynamic-credentials.md
  • Co-designed the internal developer platform: self-serve ephemeral review environments that run the full product stack in a vCluster from any feature branch, via Pulumi and FluxCD. Deploy notifications go to Slack and Linear, and environments tear down automatically after the merge request closes. The shared-cluster design keeps a full-stack environment at about $9/day in its own compute and storage, roughly 15× cheaper than a dedicated-cluster environment. case-studies/review-environments.md
  • Extended that platform into an internal knowledge-sharing product: SSO-gated artifact hosting with versioning, inline comments and review workflows, exposed through an MCP server and agent skill so teams publish AI-generated reports and dashboards straight from their AI tools. case-studies/review-environments.md
  • Cut GCP costs by over 40% year over year while usage grew: spot VMs in production with 100% uptime for critical high-availability workloads, right-sizing that cut compute and memory allocations by over 30%, and automated cleanup of unused clusters and review environments.
  • Built unprivileged multi-arch (amd64 + arm64) images with Kaniko on GKE arm64 node pools (see Writing). case-studies/multi-arch-builds.md
[ FIG. 1 ] Platform
Platform Four rows, one per path, each a left-to-right flow of three boxes with its numbers to the right. Row 1, "deploys": "Git" → "FluxCD" → "clusters", the first arrow labelled "GitOps"; numbers: "pipeline >20 min → <5 min", "deploys weekly → hundreds/week", "failed pipelines <1%". Row 2, "credentials": "Vault" → "Vault Secrets Operator" → "services", the first arrow labelled "dynamic credentials"; numbers: "rotated every 24 h instead of every 6 months", "zero downtime". Row 3, "access": "developer" → "Boundary" → "services in private VPCs", the first arrow labelled "request"; numbers: "just-in-time · temporary · audited", "least privilege". Row 4, "review environments": "feature branch" → "developer platform" → "vCluster", the second arrow labelled "Pulumi + FluxCD"; numbers: "~$9/day, ~15× cheaper than a dedicated cluster", "torn down automatically after the merge request closes". Under the rows, one line in mono: "GCP spend −40% YoY while usage grew: spot VMs · right-sizing · automated cleanup". deploys Git FluxCD clusters GitOps pipeline >20 min → <5 min deploys weekly → hundreds/week failed pipelines <1% credentials Vault Vault Secrets Operator services dynamic credentials rotated every 24 h instead of every 6 months zero downtime access developer Boundary services in private VPCs request just-in-time · temporary · audited least privilege review environments feature branch developer platform vCluster Pulumi + FluxCD ~$9/day, ~15× cheaper than a dedicated cluster torn down automatically after the merge request closes GCP spend −40% YoY while usage grew: spot VMs · right-sizing · automated cleanup

/ AI

  • Led the adoption of agentic AI in platform engineering.
  • Shipped the company's first production MCP server (Laravel MCP), replacing a 1:1 OpenAPI mapping of 160+ endpoints with 23 hand-curated tools so agents reason better. case-studies/ai-assistant.md
  • Shipped an in-app AI assistant (Oct 2026) that answers questions about a customer's device fleet inside the ArborXR portal. Its tools run with the signed-in user's own permissions, pluggable guardrails (TypeSafe's Jev model) screen input for jailbreaks and abuse, and answers stream in as they're generated. case-studies/ai-assistant.md
  • Built zero-credential agents on the Claude Agent SDK. Agents hold no credentials: every call leaves through a gateway that injects credentials at the edge, and each run gets a short-lived signed token, scoped to the connections it may use and validated offline at the gateway. An agent registry defines the agents, grants their access and issues the tokens. Built, deployed and tested internally. case-studies/zero-credential-agents.md
  • Designed a self-serve cloud environment that lets non-technical staff deploy internal projects.
[ FIG. 2 ] AI
AI Two lanes, each a left-to-right flow. Top lane, "in-app AI assistant": "chat panel" → "assistant" → "23 hand-curated MCP tools"; the assistant tagged "guardrails screen input (Jev)" and "answers stream", the second arrow labelled "as the signed-in user", and the tools tagged "from 160+ endpoints". Bottom lane, "zero-credential agents": "agent registry" → "agent" → "gateway" → "Claude · MCP connections"; the first arrow labelled "short-lived signed token, scoped to the connections it may use", the agent tagged "no credentials", and the gateway tagged "validates the token offline" and "injects credentials at the edge". in-app AI assistant chat panel assistant guardrails screen input (Jev) answers stream 23 hand-curated MCP tools from 160+ endpoints as the signed-in user zero-credential agents agent registry agent no credentials gateway validates the token offline injects credentials at the edge Claude · MCP connections short-lived signed token, scoped to the connections it may use

/ How I work

  • Plan the work, fan it out to parallel coding agents in isolated worktrees, and gate every change on tests and an independent cross-model review.
[ FIG. 3 ] How I work
How I work Left to right: a "plan the work" box; arrows labelled "fan out" lead to three stacked boxes, each "coding agent" with the sub-label "isolated worktree", bracketed "in parallel"; arrows from all three, labelled "every change", converge on a "gate" box listing "tests" and "independent cross-model review". plan the work fan out in parallel coding agent isolated worktree coding agent isolated worktree coding agent isolated worktree every change gate tests independent cross-model review

/ Virtual office

  • A virtual office I built for my team: a 3D voxel office in the browser with proximity voice, screen sharing and games (pool, ping pong, darts, mini-golf, racing), plus a Hall of Fame. case-studies/virtual-office.md
  • Built in a day by orchestrating parallel AI coding agents: kickoff to production in about 1 h 40 min, with 643 tests passing by the end of day one.
  • As of Oct 21, 2026, 26 days after the first commit: 1,600+ commits, and 12 coworkers have committed to it.
  • Stack: three.js, Cloudflare Workers + Durable Objects, LiveKit.
[ FIG. 4 ] Virtual office
Virtual office Left: a "browser" zone holding a "three.js client" box. Right, stacked: a "Cloudflare" zone holding a "Workers" box (sub-label "serve the client") above a "Durable Object" box (sub-label "live office state"), joined by a two-way arrow; below the zone, a "LiveKit" box (sub-label "proximity voice · screen sharing"). Two-way arrows join the client to Workers and to LiveKit. Along the bottom, two lines in mono: "sign-in: Google Workspace" and "every push to main: checks → deploy → smoke-test production". browser three.js client Cloudflare Workers serve the client Durable Object live office state LiveKit proximity voice · screen sharing sign-in: Google Workspace every push to main: checks → deploy → smoke-test production