<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Jonathan Haas | Haas on SaaS</title>
    <description>Insights on AI, engineering, and building products that scale</description>
    <link>https://haasonsaas.com</link>
    <atom:link href="https://haasonsaas.com/rss.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Sat, 09 May 2026 19:19:21 GMT</lastBuildDate>
    <item>
      <title><![CDATA[The Real Work of Orchestrating AI Coding Agents]]></title>
      <description><![CDATA[Three concurrent coding agents taught me the actual bottleneck: not prompting, but assignment, evidence, review, and release control.]]></description>
      <link>https://haasonsaas.com/blog/orchestrating-ai-coding-agents</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/orchestrating-ai-coding-agents</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[ai-agents]]></category>
      <category><![CDATA[developer-tools]]></category>
      <category><![CDATA[engineering-management]]></category>
      <category><![CDATA[automation]]></category>
      <category><![CDATA[claude]]></category>
      <category><![CDATA[codex]]></category>
    </item>

    <item>
      <title><![CDATA[Building Kestrel: A Context-Aware AI Desktop Assistant in One Session]]></title>
      <description><![CDATA[How I built a full LittleBird clone with screen context reading, meeting recording, arena mode, and MCP tool support — from scratch to packaged .app in a single coding session.]]></description>
      <link>https://haasonsaas.com/blog/building-kestrel</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/building-kestrel</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[electron]]></category>
      <category><![CDATA[macos]]></category>
      <category><![CDATA[developer-experience]]></category>
      <category><![CDATA[building-in-public]]></category>
    </item>

    <item>
      <title><![CDATA[DiffScope: What Happens When You Give a Code Review Agent Real Context]]></title>
      <description><![CDATA[Most AI review tools see a diff. DiffScope sees the diff, the callers, the type hierarchy, the team history, and knows when to shut up. Here is how.]]></description>
      <link>https://haasonsaas.com/blog/diffscope-ai-code-review</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/diffscope-ai-code-review</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[diffscope]]></category>
      <category><![CDATA[code-review]]></category>
      <category><![CDATA[developer-tools]]></category>
      <category><![CDATA[agents]]></category>
    </item>

    <item>
      <title><![CDATA[The 10-Minute AI POC That Becomes a 10-Month Nightmare]]></title>
      <description><![CDATA[Five lines of Python and an API key produce a working demo. The gap between that demo and a production system contains failure modes the prototype...]]></description>
      <link>https://haasonsaas.com/blog/ai-poc-nightmare</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/ai-poc-nightmare</guid>
      <pubDate>Fri, 12 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[technical-debt]]></category>
      <category><![CDATA[poc]]></category>
      <category><![CDATA[production-systems]]></category>
      <category><![CDATA[engineering]]></category>
      <category><![CDATA[cautionary-tales]]></category>
      <category><![CDATA[contrarian]]></category>
    </item>

    <item>
      <title><![CDATA[Why Your AI Strategy is Actually a Spreadsheet Strategy]]></title>
      <description><![CDATA[Most enterprise AI transformations are solving problems that spreadsheets handle at 1/50th the cost. The misalignment is driven by career incentives,...]]></description>
      <link>https://haasonsaas.com/blog/spreadsheet-strategy</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/spreadsheet-strategy</guid>
      <pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[business-strategy]]></category>
      <category><![CDATA[spreadsheets]]></category>
      <category><![CDATA[overengineering]]></category>
      <category><![CDATA[technical-debt]]></category>
      <category><![CDATA[contrarian]]></category>
      <category><![CDATA[enterprise]]></category>
    </item>

    <item>
      <title><![CDATA[The AI Agent Gold Rush: Why Everyone's Building Picks and Shovels]]></title>
      <description><![CDATA[Most AI agent infrastructure is premature. The agents themselves barely work. The industry is selling Formula 1 equipment to people still learning to...]]></description>
      <link>https://haasonsaas.com/blog/ai-agent-gold-rush</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/ai-agent-gold-rush</guid>
      <pubDate>Mon, 08 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[ai-agents]]></category>
      <category><![CDATA[multi-agent-systems]]></category>
      <category><![CDATA[venture-capital]]></category>
      <category><![CDATA[infrastructure]]></category>
      <category><![CDATA[business-strategy]]></category>
      <category><![CDATA[contrarian]]></category>
    </item>

    <item>
      <title><![CDATA[From Consumer NUC to Production-Grade Homelab: My Journey with Proxmox and Infrastructure as Code]]></title>
      <description><![CDATA[How I transformed two ASUS NUC 15 Pro+ machines into an enterprise-grade homelab using Proxmox, Terraform, Ansible, and 100% Infrastructure as Code]]></description>
      <link>https://haasonsaas.com/blog/homelab-proxmox-iac</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/homelab-proxmox-iac</guid>
      <pubDate>Fri, 18 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[homelab]]></category>
      <category><![CDATA[proxmox]]></category>
      <category><![CDATA[infrastructure-as-code]]></category>
      <category><![CDATA[devops]]></category>
      <category><![CDATA[automation]]></category>
    </item>

    <item>
      <title><![CDATA[The CLI Renaissance: How AI is Driving the Command Line Revolution]]></title>
      <description><![CDATA[AI coding assistants output shell commands, not GUI instructions. That single fact is reversing a decade of developer tooling trends.]]></description>
      <link>https://haasonsaas.com/blog/cli-renaissance</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/cli-renaissance</guid>
      <pubDate>Fri, 11 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[cli]]></category>
      <category><![CDATA[developer-experience]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[productivity]]></category>
    </item>

    <item>
      <title><![CDATA[Building a Developer Environment That Actually Works: My Dotfiles Journey]]></title>
      <description><![CDATA[Most developer environments are optimized for keystrokes. The actual bottleneck is context transfer between you and your AI tools.]]></description>
      <link>https://haasonsaas.com/blog/dotfiles-journey</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/dotfiles-journey</guid>
      <pubDate>Fri, 11 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[developer-experience]]></category>
      <category><![CDATA[dotfiles]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[automation]]></category>
    </item>

    <item>
      <title><![CDATA[The Death of the 10x Developer: Why AI Multiplication Beats Individual Optimization]]></title>
      <description><![CDATA[AI commoditized the pattern recognition and architectural intuition that made 10x developers valuable. The bottleneck moved from individual output to...]]></description>
      <link>https://haasonsaas.com/blog/death-of-10x-developer</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/death-of-10x-developer</guid>
      <pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[automation]]></category>
      <category><![CDATA[developer-experience]]></category>
      <category><![CDATA[future-of-work]]></category>
      <category><![CDATA[team-dynamics]]></category>
    </item>

    <item>
      <title><![CDATA[Useful AI Code Review Needs Product Context]]></title>
      <description><![CDATA[AI review only becomes valuable when it can reason about behavior, blast radius, user impact, and the evidence required to trust a change.]]></description>
      <link>https://haasonsaas.com/blog/ai-code-review</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/ai-code-review</guid>
      <pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[code-review]]></category>
      <category><![CDATA[developer-experience]]></category>
      <category><![CDATA[automation]]></category>
      <category><![CDATA[team-dynamics]]></category>
    </item>

    <item>
      <title><![CDATA[Async Code Gen Turns Engineers Into Operators]]></title>
      <description><![CDATA[Async code generation is delegated execution. The new work is task design, review, evidence, and deciding what the system is allowed to ship.]]></description>
      <link>https://haasonsaas.com/blog/async-code-gen</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/async-code-gen</guid>
      <pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[software-development]]></category>
      <category><![CDATA[automation]]></category>
      <category><![CDATA[future-of-work]]></category>
      <category><![CDATA[developer-experience]]></category>
    </item>

    <item>
      <title><![CDATA[AI Evals Are the Operating System, Not the Test Suite]]></title>
      <description><![CDATA[Reliable AI products need evals that live in the workflow: production signals, failure clusters, evidence trails, and regression gates.]]></description>
      <link>https://haasonsaas.com/blog/eval-infrastructure</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/eval-infrastructure</guid>
      <pubDate>Mon, 07 Jul 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai-evaluation]]></category>
      <category><![CDATA[ai-systems]]></category>
      <category><![CDATA[evals]]></category>
      <category><![CDATA[infrastructure]]></category>
      <category><![CDATA[llm-ops]]></category>
      <category><![CDATA[testing]]></category>
    </item>

    <item>
      <title><![CDATA[Testing at Light Speed: How QA Adapts to AI Velocity]]></title>
      <description><![CDATA[AI-generated code produces different bugs than human-written code. QA built for syntax checking is testing for the wrong failures.]]></description>
      <link>https://haasonsaas.com/blog/qa-at-ai-speed</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/qa-at-ai-speed</guid>
      <pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[qa]]></category>
      <category><![CDATA[testing]]></category>
      <category><![CDATA[velocity]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[quality-assurance]]></category>
    </item>

    <item>
      <title><![CDATA[Feature Flags for Security: Decouple Deployment from Risk]]></title>
      <description><![CDATA[Security teams conflate deployment with activation. Feature flags split them apart, turning security from a gate into a dial.]]></description>
      <link>https://haasonsaas.com/blog/feature-flags-security</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/feature-flags-security</guid>
      <pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[security]]></category>
      <category><![CDATA[feature-flags]]></category>
      <category><![CDATA[deployment]]></category>
      <category><![CDATA[devops]]></category>
      <category><![CDATA[risk-management]]></category>
    </item>

    <item>
      <title><![CDATA[Forget Perfect Data: Building a Usable Voice Profile Extractor]]></title>
      <description><![CDATA[I shipped a voice profile extractor at 60% accuracy. Simple pattern matching outperformed ML for writing voice replication.]]></description>
      <link>https://haasonsaas.com/blog/voice-profile-extractor</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/voice-profile-extractor</guid>
      <pubDate>Thu, 26 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[voice-ai]]></category>
      <category><![CDATA[personality-replication]]></category>
      <category><![CDATA[data-science]]></category>
    </item>

    <item>
      <title><![CDATA[When Claude Hits Its Limits: Building an AI-to-AI Escalation System]]></title>
      <description><![CDATA[Different LLMs have different strengths. Routing tasks to the right model -- like heterogeneous compute -- turns out to be more valuable than using one ...]]></description>
      <link>https://haasonsaas.com/blog/ai-escalation-system</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/ai-escalation-system</guid>
      <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[mcp]]></category>
      <category><![CDATA[claude]]></category>
      <category><![CDATA[gemini]]></category>
      <category><![CDATA[debugging]]></category>
    </item>

    <item>
      <title><![CDATA[Scaling the Me Component: How I Built an AI That Thinks Like Me]]></title>
      <description><![CDATA[I built a voice replication system by extracting patterns from my blog corpus. Here's what it captures, what it misses, and what that reveals about...]]></description>
      <link>https://haasonsaas.com/blog/personalized-ai</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/personalized-ai</guid>
      <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[voice-replication]]></category>
      <category><![CDATA[personalization]]></category>
      <category><![CDATA[meta]]></category>
      <category><![CDATA[ai-agents]]></category>
    </item>

    <item>
      <title><![CDATA[What Actually Failed Building a Multi-AI Content System]]></title>
      <description><![CDATA[I built a multi-AI content pipeline combining Gemini and Claude. The failures taught me more than the architecture.]]></description>
      <link>https://haasonsaas.com/blog/multi-ai-content-orchestration-lessons</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/multi-ai-content-orchestration-lessons</guid>
      <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[ai-agents]]></category>
      <category><![CDATA[content-orchestration]]></category>
      <category><![CDATA[developer-experience]]></category>
      <category><![CDATA[multi-agent-systems]]></category>
    </item>

    <item>
      <title><![CDATA[Shared Context Is the Real Multi-Agent Primitive]]></title>
      <description><![CDATA[Multiple agents do not need a shared brain. They need explicit context, durable memory, and a record of why the project works the way it does.]]></description>
      <link>https://haasonsaas.com/blog/two-minds-in-the-machine</link>
      <guid isPermaLink="true">https://haasonsaas.com/blog/two-minds-in-the-machine</guid>
      <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[software-development]]></category>
      <category><![CDATA[collaboration]]></category>
    </item>
  </channel>
</rss>