Skip to main content

Blog

Notes from building agentic AI infrastructure on consumer hardware—and what fifteen years of product design taught me about it.

Latest

I Wrote Down a No That Nothing Was Reading

During a paper review I rejected one of my system's own proposals and filed the rejection where I keep every other decision I've made. It proposed the same thing again every night — because a rejection nobody reads is just a note to yourself.

4 min read

My Overnight Chain Killed a Job That Had Already Finished

This morning the one Slack message I actually rely on never arrived. The cause was a worker that ran four minutes too long — and had already succeeded by the time my own safety timer declared it dead. The fix wasn't a bigger timeout. It was admitting the briefing had been waiting on forty minutes of work it never reads.

5 min read

I Measured My Tokens Again

Last time I counted from an index. This time I went straight to the 2,608 transcript files on disk: 91,908 turns, 15.58 billion tokens, six models, and the same three patterns that keep reproducing no matter how I measure.

3 min read

My Homelab Reads arXiv and Proposes Its Own Upgrades

Every night a worker reads about eighteen sources, scores them with a local model, and files code-change proposals against my own repos. Last week it read the announcement of a map of the AI ecosystem's gaps — and proposed using it to find its own.

5 min read

I Ran a 105-Agent Audit on My Own Infrastructure

I pointed roughly 105 read-only agents at my entire homelab and AI stack, made each finding survive an adversarial verifier before it counted, and triaged the result into a real backlog. 165 confirmed findings. The top one was my own exposed API key.

6 min read

What Three Months of AI Would Have Cost on an API Key

15.6 billion tokens in a quarter. Metered at API rates, that's about $19,000 — except 90.5% of it was cache reads, and without caching the same work would have cost $88,000. The receipts, and what they say about model routing.

4 min read

I Automated My Own Job Search

I'm job hunting in AI Product. So I built a Forge worker that scrapes RemoteOK and Hacker News every morning, scores every posting against my preferences with a local LLM, and Slacks me only the real matches. The product decisions mattered more than the code.

6 min read

The First Draft Is Supposed to Be Wrong

My AI wrote code with a server-side request forgery hole, an inverted build config, and the wrong OAuth defaults. Then it shipped — safely — because a second model, told to break it, caught all three before I did. The generator doesn't have to be clean. The verifier has to be ruthless.

4 min read

Productizing the Project Kickoff

The vaguest, most-skipped part of any project is the kickoff — turning a fuzzy idea into something a team, or an agent, can actually build. So I built the kickoff as a product, with a real input→output contract: idea in, populated project board out. The highest-leverage PM work is removing ambiguity at the start, and you can systematize it.

7 min read

From Figma to Agents: What 15 Years of Product Design Taught Me About Building AI

I spent about fifteen years designing product and UX across studios and startups, then delivered enterprise Salesforce platforms as a program and project manager, and now I build agentic AI infrastructure. The throughlines surprised me. Designing for users and designing for agents turn out to be closer than they look.

6 min read

Designing for an Audience of Agents

My busiest user is an AI agent that never opens the dashboard — designing for a model calling tools is the same craft as designing for a person tapping a screen.

5 min read

Twenty Years of Range

People ask how one person ships this much alone. It isn't the AI. It's twenty years of range — a trained eye and builder's hands that the tooling finally stopped making wait.

5 min read

Where Two Billion Fable 5 Tokens Went

In three months, one model — Claude Fable 5 — burned 2.1 billion tokens across my stack. It's my most expensive model, and I pointed it at exactly one job. Here's where every token landed.

3 min read

Software That Refuses to Lie

One of my dashboards showed all-clear while 4,278 tasks piled up in queues it never checked — the fix wasn't better monitoring but teaching the software to admit what it can't see.

5 min read

145,481 Turns and Counting

The Postgres lake now holds 145,481 Claude Code turns across 342 sessions and five months. Bash is still half of everything, cache_read crossed 18 billion tokens, and 62% of the work lives in one project. A second look at what the receipts say about how an AI builder actually works.

8 min read

An Operational Dashboard, Not a Landing Page

Coquina's dashboard has one user and no marketing funnel — just a login screen for a front door, and a decade of enterprise UI design pointed inward.

5 min read

Why Bash Is Half My Tool Calls

Of 49,030 tool calls my AI logged across 342 sessions, Bash is 23,979 — almost exactly half. That number isn't an accident. It's what agentic work actually looks like once you strip away the demos: the shell is the universal interface, and the lesson for anyone building agent tooling falls straight out of it.

6 min read

18.4 Billion Cached Tokens

My Claude Code telemetry lake holds ~20M fresh input tokens and ~92.5M output tokens — and ~18.4 billion cache_read tokens. That ratio is the whole reason solo AI infrastructure work is affordable on consumer hardware. Here's what prompt caching at that scale actually buys you, what it doesn't, and how it changes the way you structure a long agent session.

7 min read

Software That Watches Itself

A solo operator can't babysit infrastructure. So I built systems that monitor and repair themselves — embedding-drift detection, forgetting metrics, two-stage diffusion retrieval, graph-diffusion consensus, three-tier self-healing, and RL edge-tuning. Reliability isn't a chore you do later. It's a feature you build in.

6 min read

Thirty-Two Workers, One DAG

Forge isn't one big agent that does everything. It's 32 small single-purpose workers coordinated by a 25-step nightly chain. This is the case for a fleet you can reason about — single responsibility, composition, and why I'd rather debug thirty-two narrow workers than one clever one.

6 min read

The AI Product Gap

After three years living in pro-tier AI tools as a daily driver, the most consistent thing I've found isn't a model limitation. It's the gap between the demo and what survives contact with real work. This is a buyer's discipline, not a teardown — judge an AI product by day 30, not minute 3.

7 min read

Thirty Models, One Box, Zero Cloud

I run 30 local models on a single Apple M4 through Ollama, with no cloud API calls anywhere in the stack. The real lesson wasn't how to fit them on the hardware. It was that you pick the model for the task — and you find out which model by benchmarking, not by guessing.

7 min read

Zero Errors Was the Spec

I once orchestrated a multi-state Go Live for a Salesforce-integrated insurance portal that launched with zero errors and held 98% success over six months. In enterprise delivery the launch is the proof — a launch that breaks is a strategy that failed. That discipline is exactly what I now apply to autonomous AI systems that have to be right by morning with no one watching.

7 min read

The Model That Thought Too Much

A reasoning model in thinking mode will silently sabotage a structured-output task by spending its whole budget on a reasoning trace. The fix isn't a better prompt — it's matching model class to task class. A short, sharp lesson from a worker that failed green.

4 min read

The Brain Was the Architecture: How a Metaphor Became My System Design

I named the parts of my AI infrastructure after brain regions — Hippocampus for memory, Prefrontal Cortex for orchestration, Thalamus for the sensory gate. It started as a joke and became a design tool. A good metaphor makes a complex system legible, tells each part what it's allowed to do, and is, quietly, an information-architecture decision you'll live with for years.

7 min read

The Evidence Lake: Why Coquina Now Has Two Postgres Databases

A second Postgres database for raw session telemetry. Why curated memory and raw evidence want different homes, and how to federate search across both.

8 min read

92,653 Turns and Where They Went

What 92,653 indexed Claude Code conversation turns reveal about how a single developer actually uses AI tools. 11 billion cache_read tokens, top tools, biggest sessions, and the workflow shape that emerges from the data.

9 min read

Fuck Forward as Engineering Discipline

An operating philosophy made explicit: when stuck, just keep moving. Why momentum compounds in solo infrastructure work, and the three disciplines (branch-first, code-review, reversibility) that prevent it from becoming recklessness.

8 min read

Reversibility as a Virtue

The discipline of shipping every infrastructure change with its own undo. Paired up/down migrations, env-gated features, and why the cost of being wrong should always be bounded.

8 min read

The Bearer Token I Almost Shipped

A regex pattern that almost wrote live API keys into a searchable database in cleartext. A code review caught it in five minutes. Defense-in-depth for privacy redactors.

6 min read

The Cortexproject Discovery

The afternoon I discovered I'd been about to launch a product into a CNCF-graduated project's namespace. Six hours of naming, a Stripe-style sub-brand architecture, and the discipline of namespace-checks at commercial inflection points.

8 min read

The Auto-Data Lake

What happens when you give a data lake a nervous system. Schema-on-read, auto-embedding, auto-linking, and a knowledge graph that learns from what works.

7 min read

From Side Project to Product

How a homelab project turned into an auto-data lake for AI agent memory, and what it looks like to build infrastructure that might become a company.

3 min read

Why I Quit the Cloud (For AI Development)

Zero dollars per month on AI API calls. Local-first isn't a limitation — it's an architecture decision with real technical advantages.

3 min read

Building a Voice Assistant That Never Phones Home

Whisper STT, GLaDOS TTS, Gemma 4 function calling, and Home Assistant. A fully local voice pipeline across a homelab.

2 min read

The Overnight Chain: Workers Running While I Sleep

32 autonomous workers, a 25-step DAG pipeline, and GPU coordination on Apple Silicon. Security reviews, code reviews, and tech digests ready by morning.

3 min read

Building a Brain for My Homelab

I mapped my homelab infrastructure to neuroscience. Coquina is the hippocampus, the thalamus filters MQTT events, and the amygdala runs a nightly security review. Here's how it works.

5 min read