Archive

Posts

All posts, newest first.

Orca

Orca as mission control for my coding agents

One Mac mini runs several AI agents across four repos. Orca is the layer that keeps that sane: every task becomes a git worktree with its own terminals, browser tabs and agent sessions, a CLI lets agents drive all of it programmatically, and a pairing code turns my phone into a second screen on the same runtime.

6 min read 2026-11-08
OmniRoute

Self-hosting OmniRoute as my LLM gateway

One container routes all my agents' LLM traffic. Getting it healthy took three fixes: container DNS that sidesteps poisoned resolver records via Clash fake-IPs, admission control tuned for agent fan-out, and a rate-limit "timeout" that was secretly killing long-reasoning models mid-flight.

6 min read 2026-11-01
HopToDesk

Self-hosting HopToDesk with a web client, because every alternative I tried wanted my wallet

I needed a browser-based web client to reach my home machine from a work PC that locks down software installs. RustDesk, RayLink, and ToDesk all gate the web client behind a paid plan, so I self-hosted HopToDesk instead, and wrote the missing web-client relay bridge along the way. Notes on what worked, what surprised me, and the one TLS gotcha that ate an afternoon.

9 min read 2026-10-17
oMLX

oMLX models on an external SSD, backed up with Kopia

Moving oMLX's model library to an external SSD on a Mac mini, then letting Kopia take hourly deduplicated snapshots to a second drive — so 36 GB of local models restore in minutes instead of hours of re-downloading.

5 min read 2026-10-06
Claude Code

Self-hosted memory for Claude Code with mem0

Wiring Claude Code to a fully local memory stack: oMLX serves the LLM and embeddings, pgvector stores the vectors, and the open-source mem0 MCP server glues it together over SSE.

5 min read 2026-10-01
Process

Scaffolding before you ship

A 20-minute primer on getting a static site from blank directory to something worth iterating on.

2 min read 2026-08-05