AI is where I'm spending most of my new learning energy and most of my hands-on weekend hours. My perspective comes from two angles: the architectural — pattern selection, governance, integration, the boring-but-foundational work — and the practitioner's, from running real systems I built myself.
The two personal projects I lean on most:
The Research Curation Daemon (RCD) A self-hosted, fully autonomous weekly pipeline that scouts research signals, synthesizes them, and ships podcast-style briefings across four domains. It coordinates three LLM providers (Perplexity for breadth, Claude for synthesis, OpenAI for selected stages) and uses NotebookLM for audio. Architecturally, it's a scheduled daemon with resume detection and incident recovery, a custom MCP server exposing each pipeline stage as a tool, telemetry from day one, and an A/B prompt-evaluation framework that has changed my mind about prompts more than once. There is exactly one human-judgment gate in the pipeline: episode approval before dev-to-production promotion. That single gate is more interesting than it sounds — it's where I've learned the most about where humans should and shouldn't be in agentic loops.
Open Brain (OB1). A personal deployment of Nate B. Jones's open-source AI memory layer (Supabase + pgvector + an MCP tool surface), integrated across every AI client I use — Claude Desktop, Claude Code, web Claude. The single most valuable thing about it isn't the memory itself, it's that the memory travels with me regardless of vendor. I added a custom feedback loop where RCD reads OB1 context as a signal source for query evolution, so the two systems compose.
Convictions I hold somewhat strongly, from this practice:
- MCP is a strategic abstraction, not a fad. Tool surfaces that are language-model-agnostic and discovery-driven are how multi-vendor agentic systems will actually compose. Locking your tool surface to a single provider's function-calling format is a near-term decision that ages badly.
- Multi-provider orchestration is already the right default for any non-trivial agentic system. No single model is best at every task; the difference between "best available" and "what we already integrated" is meaningful.
- The human-judgment gate pattern matters more than the autonomy story. Pipelines that name exactly where a human is required, and earn full automation everywhere else, are far stronger than pipelines that hedge with reviews everywhere.
- A/B prompt evaluation is underused. Prompt quality compounds over a pipeline; the habit of measuring is worth more than the habit of crafting.
- Telemetry first. I will say this for every domain I work in until I retire.
Posts under this section will mostly be deep-dives on the patterns and decisions inside RCD and OB1, and broader takes on enterprise AI practice — RAG, agentic governance, the operating-model question.
Recent posts
You Can Tune a Piano, but You Can't Tuna Phish
Wait: of course you can. It's called a spearphish. What I meant to say was 'you can't tuna product' — a lesson from months of failing to prompt NotebookLM out of its manufactured doom narrative. Audio receipts included.
The Agent That Never Says No
Disposable code is fine — my '90s snowboard database was glorious. But agentic engineering is quietly applying disposable habits to durable problems, and the tell is that your AI engineer will never tell you no.
The Daemon Moves Out: Why MCP Was the Wrong Home for the Pipeline
Five months after building the Research Curation Daemon as an MCP server, I extracted the agent into a standalone process with its own HTTP API. The protocol wasn't the problem. The hosting was.