<?xml version="1.0" encoding="UTF-8" ?>
  <rss version="2.0">
    <channel>
        <title>Matthew Orford</title>
        <link>https://mattheworford.dev</link>
        <description>Writing on data platforms, AI infrastructure, and the systems underneath them.</description>
        <item>
          <title>The Real Lesson From Anthropic's AI Analytics Stack: Your Data Model Is the Product</title>
          <link>https://mattheworford.dev/blog/data-model-is-the-product</link>
          <description>The headline is Claude doing analytics. The actual story is the unglamorous work of making the data model usable.</description>
          <pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>What a Production Eval System Actually Looks Like</title>
          <link>https://mattheworford.dev/blog/production-eval-system</link>
          <description>A production eval system is not a notebook. It is an operational feedback loop, and the labels are usually the hard part.</description>
          <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Stop Building AI Features</title>
          <link>https://mattheworford.dev/blog/ai-features</link>
          <description>Some AI product work gets commoditized quickly. The durable work tends to live lower in the stack: data, permissions, workflows, and integrations.</description>
          <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Data Catalogs Are Only Useful If They Match Real Workflows</title>
          <link>https://mattheworford.dev/blog/data-catalogs-real-workflows</link>
          <description>Metadata catalogs fail when they become polished inventories. The useful ones fit the decisions people are already trying to make.</description>
          <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>The Semantic Layer Is Execution Infrastructure Now</title>
          <link>https://mattheworford.dev/blog/semantic-layer-execution-infrastructure</link>
          <description>Agents turned semantic layers from BI cleanup into runtime infrastructure. Many AI reliability problems are really modeling problems.</description>
          <pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>You Don't Need a Maintenance Window to Upgrade Flink</title>
          <link>https://mattheworford.dev/blog/upgrading-stateful-flink</link>
          <description>Savepoints are great for recovery. They are a fragile deployment primitive once stateful jobs start evolving quickly.</description>
          <pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>From PM to SWE: What I Gained and What I Had to Unlearn</title>
          <link>https://mattheworford.dev/blog/pm-to-swe</link>
          <description>Moving from product to engineering gave me a better angle on systems work. It also forced me to unlearn some habits I did not know I had.</description>
          <pubDate>Thu, 12 Sep 2024 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>Domain-Driven Pipelines Are Usually Worth the Mess</title>
          <link>https://mattheworford.dev/blog/domain-driven-pipelines</link>
          <description>One perfect data pipeline sounds clean until every domain needs it to mean something different.</description>
          <pubDate>Wed, 19 Jun 2024 00:00:00 GMT</pubDate>
        </item>
<item>
          <title>The Cake Pattern Is Probably Not What You Need</title>
          <link>https://mattheworford.dev/blog/di-in-scala</link>
          <description>The cake pattern is clever Scala. Constructor injection is usually the better default.</description>
          <pubDate>Mon, 08 Apr 2024 00:00:00 GMT</pubDate>
        </item>
    </channel>
  </rss>