Senior AI Engineer
I build agent systems that ship working software, and I measure what they cost.
My latest is a studio of AI agents from three vendors that builds games on its own, live on Twitch. Every change passes a review gate, and every token goes on a ledger.
Latest project
- 655 code changes written by AI agents and merged into the game
- 109 changes rejected by automated checks or an AI reviewer and sent back to fix
- 3 AI providers whose agents build the game together: Anthropic, OpenAI and Google
- 5,351 automated tests passing, with none failing
Rich to Richer, a Roblox game built by the studio below. Figures from its logs on 24 Oct 2026; check them yourself.
Short on time? Ask your AI.
Paste this into Claude, ChatGPT or any assistant that can read the web. It reads a plain-text brief written for models and follows the links.
Read the brief yourselfRead https://connorjarvis.co.uk/llms.txt and the pages it links to. Then tell me what Connor Jarvis has built with AI agents, the engineering decisions behind it, and the evidence for each claim. Say plainly what you couldn't verify.
01 · Oct 2026
studio-kit: an autonomous game studio
I play the client. An orchestrator runs the studio in ticks: it plans, seats role agents (producer, designer, programmers, QA, reviewers) and records what happened. Developer agents from Claude, Codex and Gemini pull cards from one queue, each in its own git worktree.
How a change gets in
- 1 Card queue Each card lists the files it may change
- 2 Developer agent Own git worktree, secrets stripped
- 3 Merge gate Merge, file claims, garbled text, checks
- 4 Reviewer agent Re-measures every acceptance criterion
- 5 QA playtest On a frozen build in its own tree
A failed check gets one fix run before hand-back. A card bounced twice is taken back and requeued.
By tick 95 the reviewers had sent back 105 hand-backs. The most common reasons: an acceptance criterion not met (67), code that didn't match the codebase's idioms (31) and a red check (17). Read one rejection in full: Claude Opus reviewing a change by the Gemini developer.
How the agents talk to each other
Where cards come from
Decisions I'd defend
A fresh process per tick
Keeping one orchestrator context across ticks meant every agent notification re-read hundreds of thousands of tokens of history: about 28% of a week's cost by tick 75 in the first studio. Each tick now runs as a fresh headless process that reads its state from files.
Models matched to the task
Opus plans and takes gate-critical work. Sonnet takes well-specified work, and must stop and escalate when it hits an Opus trigger.
Developers hold no keys
Developer runs start with secrets stripped from their environment and no MCP servers. The gate rejects any change to a file the card didn't claim.
Every token on a ledger
A Claude Code plugin hook writes a row for every model request, tool call and subagent spawn. By 24 Oct that came to about $1,976 at API rates: 5.12B tokens in, 38.1M out.
What the agents built
SuperMarketGame, 5–19 Oct 2026, captured by the studio itself.
Transfer Window, 17–20 Oct 2026: a Godot space-logistics tycoon.
One kit, three studios, three engines
| Studio | Engine | Dates | Output |
|---|---|---|---|
| SuperMarketGame | TypeScript, three.js | 5–19 Oct 2026 | 303 commits over ticks 0–138 |
| Transfer Window | Godot 4, C# | 17–20 Oct 2026 | 87 commits over 44 ticks, 755 test methods |
| Rich to Richer | Roblox, Luau | 19 Oct 2026 – now | 655 merges by tick 95, 5,351 tests passing |
At a milestone gate, 17 agent notebooks were boiled down into a handbook of 52 rules, which now ships with the kit.
02 · Feb–Oct 2026
Earlier AI work
-
17–18 Oct 2026
Frostfall TD
A maze tower-defence game a Claude agent built on its own from a written spec, balanced with 450 bot-played games.
-
Mar–Sep 2026
Covered
Insurance comparison by conversation, using Claude Haiku with streaming tool use and a rule-based check for wording that could read as regulated advice.
-
Feb–Sep 2026
Spectre
A paper-trading signal scanner in which Claude analyses the top candidates, with a cost estimate before every call and a daily budget.
-
Mar–Jul 2026
Inference
An idle game where you are the language model, designed through rounds of designer, tester and storyteller agents and balanced by simulation.
-
Jul 2026
interview-me
Agent skills for Claude Code, Copilot CLI and Codex: one interviews you on the decisions in a change you've shipped and scores you, the other reviews a branch and drafts the comments.
-
Jul 2026
Azure DevOps skills
Two agent skills: one digests sprint health, PRs and builds into an HTML report, the other is a thinking partner for a single work item.
-
Jun 2026
human-voice
A Claude Code skill that makes the prose an agent writes for you read like you wrote it.
-
15–30 Mar 2026
Asset Forge
An MCP server with 20 tools that lets Claude Code generate game art and audio through ComfyUI on my own GPU; 102 of its assets went into Space Game and Inference.
-
3–25 Mar 2026
Space Game
A space strategy game in Godot whose difficulty was tuned from 273 automated playtest games.
Most of my other projects were built with Claude Code too, without AI in the product. See the projects
03 · Mar 2025 – now · Volunteer
Somerton RFC, live for a real club
I redesigned and built Somerton RFC's website, and I run it for the club for free. A scraper reads England Rugby's system overnight, so fixtures, results and league tables stay current with nobody typing them in, and it alerts my phone when a run fails. 177 of its 346 commits were written with Claude Code.
Visit somertonrfc.co.uk
04 · 2026 · Evenings and weekends
The night shift
I help run a small game-server hosting company, but only in the evenings and at weekends. The agents cover the hours I'm at my day job or asleep. The code is the company's, so this is described rather than linked.
- 166 MCP tools, co-built, so staff can run the hosting control panel through Claude
- 6 headless Claude Code pipelines I wrote, each on a schedule
- 3 fact-checking agents from my Claude plugins that review article drafts in parallel
- 200+ isolated git worktrees, so coding agents work side by side without colliding
The rota
- Every 15 min Support triage Haiku picks up new tickets, an agent investigates each one through the MCP tools, and drafts a reply for a person to review. Spend is capped per run.
- 01:30 Competitors Checks which games rival hosts sell that we don't, and flags any they've just added.
- 08:00 Game news A daily digest, with a second AI score for SEO potential.
- 08:30 Company tasks What's overdue or due today, ranked by AI, with a two-week look-ahead.
- 09:00 & 21:00 Reddit Hosting-related posts matched across 60+ game subreddits all day, summed up in an AI-scored digest.
- Weekly Partner scouting Creator prospects collected and scored by AI.