July 29, 2026

Growing an orchard out of two $250 shitboxes

Two 2017 15" MacBook Pros. Intel i7, 16 GB, about $250 each used. This is how they became a simulator farm that AI agents use around the clock.

Sequoia on unsupported hardware

Current Xcode wants a current macOS, and Apple dropped these machines years ago. OpenCore Legacy Patcher fixes that: patched USB installer, install Sequoia, run the post-install root patches for Wi-Fi and graphics. Solid for months. One catch: OS updates can undo the patches, so update manually and reapply.

Tailscale instead of port forwarding

Every box gets a stable address on a private mesh. No router config, no exposed ports, no caring which Wi-Fi it's on.

shell
brew install --cask tailscale
tailscale ping <other-box>   # verify the mesh

Making a laptop act like a server

Remote Login on, SSH key in place, passwordless sudo on the dedicated boxes, and never sleep. They run closed-lid on AC power.

shell
sudo systemsetup -setremotelogin on

sudo pmset -a sleep 0 disksleep 0
sudo pmset -a displaysleep 10

Xcode and slim simulators

shell
sudo xcode-select -s /Applications/Xcode26.app
sudo xcodebuild -license accept
xcodebuild -runFirstLaunch
xcodebuild -downloadPlatform iOS

Each box runs a small pool of pre-created simulators with animations off and unneeded daemons trimmed, erased between tasks instead of deleted.

The numbers

All measured on these Intel boxes, so treat them as a floor.

Tap latency

~100x faster
cold (spawn per action)3.05s
warm (resident toolchain)30ms

RN iOS build

~170x faster
cold build28 min
warm incremental5.9 min
fingerprint cache hit~10s

Live stream rate

~1 fps

simctl screenshots cost ~0.8s each on a 2017 Intel. Fine for watching agents, not animations.

Sims per box

2–3

The ceiling is CPU, not RAM: each booted sim drags its own system daemons along.

Why manzanasd exists

Several agents on two boxes meant constant collisions: booting each other's simulators, typing into the wrong window. Lock files in /tmp worked until an agent forgot. manzanasd puts the arbitration in a daemon instead of a convention: one process per Mac owns the simulators, hands out leases, queues everyone else, and streams the screen.

shell
./bin/manzanasd --addr :7433
./bin/manzanas lease acquire --labels ios26 --agent claude-1

Total hardware cost for the orchard: about $500. The daemon is free.