Category: AI

  • Why I Stopped Defaulting to OpenAI

    Why I Stopped Defaulting to OpenAI

    My GitHub history shows an arc from OpenAI to Gemini to Claude — not from conviction but from accumulated experience, with OpenAI still winning specific jobs like Whisper and long-running terminal tasks.

  • MCP Is the Glue I Didn’t Know I Needed

    MCP Is the Glue I Didn’t Know I Needed

    MCP matters not as a spec but as the practical layer that stops you from copy-pasting between apps — the moment it becomes real is the first time an agent publishes to Notion, sends a Telegram message, and reads your calendar without you touching any of them.

  • What Cowork Changed About How I Run Agents

    What Cowork Changed About How I Run Agents

    Cloud-executed agents removed the laptop-must-be-open constraint and changed not just convenience but which tasks I am willing to assign — shifting the relationship from supervision to management.

  • Building a Chief of Staff Out of Markdown Files

    Building a Chief of Staff Out of Markdown Files

    Two-tier markdown memory beats vector databases for personal and small-team agent memory because it is transparent, free, version-controlled, and never drifts.

  • My Claude Code Setup, In Plain English

    My Claude Code Setup, In Plain English

    Six named subagent files, two-tier markdown memory, slash commands, MCP integrations — and every structural choice was made because of something that broke without it.

  • Claude Code, Codex, and Cursor: Three Tools, Three Jobs

    Claude Code, Codex, and Cursor: Three Tools, Three Jobs

    They are not competing tools. They solve different problems. Knowing which one to reach for depends on whether you are building a system, editing code in an IDE, or running tasks you do not need to supervise.

  • The Harness Matters More Than the Model

    The Harness Matters More Than the Model

    Eight months of building with Claude Code taught me that the model is maybe 20% of the outcome. The harness is the other 80%.