← Infrastructure
Dev

Anvil

Dev environment

Hardware
M4 Mac Mini
Specs
Apple Silicon M4 · 16GB unified memory
Tailnet IP
100.109.236.94
Services
4 running
Anvil schematic — a compact Mac Mini with an amber activity indicator

Anvil is the dev box. An M4 Mac Mini with 16 GB of unified memory sitting on the desk where I actually work, wired to the same tailnet as Furnace, Crucible, and Bellows. It runs Claude Code, the two editors I use, every repo checkout for every project, and the Xcode install that builds Whittled. Nothing on Anvil is load-bearing for the platform — if it dies, I lose my workstation but none of the services. That’s on purpose.

Anvil also runs the ARIA Relay daemon, which is the only reason it can’t just be a laptop. Relay is a tiny Swift agent that watches the macOS iMessage database, photo library, contacts, and calendar locally and streams new entries into Nexus over the tailnet. There’s no cloud API for reading your own iMessages — Apple deliberately doesn’t expose one — so the only way to ingest my message history into the personal data layer is to run a signed agent on a Mac with Full Disk Access that can read the SQLite databases directly. Anvil is that Mac. It has an hourly osxphotos sync that copies new Apple Photos metadata to Forge for description, and a similar loop for Siri Remembers, FaceTime call logs, and Apple Music listening history.

The 16 GB of memory is a deliberate constraint. Anything that needs real compute gets offloaded to Forge — if I want a description written for a photo, Anvil uploads the pixels to Furnace and gets the text back. The Mac Mini’s job is to be the trusted local reader for the data sources that Apple only exposes to running software on a signed Mac. Everything else happens elsewhere.

Services