<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>Loop Engineering</title>
  <link>https://loopengineering.io/</link>
  <description>Engineering notes on AI systems and automation. What I built, what broke, and what I&#x27;d do differently.</description>
  <language>en</language>
  <item>
    <title>Replacing n8n with Claude Code and a CLAUDE.md file</title>
    <link>https://loopengineering.io/blog/loop-007-replacing-n8n-with-claude-code-and-a-claude-md-file/</link>
    <guid>https://loopengineering.io/blog/loop-007-replacing-n8n-with-claude-code-and-a-claude-md-file/</guid>
    <pubDate>Wed, 01 Jul 2026 08:00:00 +0000</pubDate>
    <category>agents</category>
    <description>Our long-form content pipeline kept dying on API timeouts. So I threw out the workflow builder and gave an agent persistent memory instead. Here&#x27;s the architecture, the failure modes, and the numbers after 30 days.</description>
  </item>
  <item>
    <title>One prompt, 14 landing pages: local content that isn&#x27;t spam</title>
    <link>https://loopengineering.io/blog/loop-006-one-prompt-14-landing-pages-local-content-that-isn-t-spam/</link>
    <guid>https://loopengineering.io/blog/loop-006-one-prompt-14-landing-pages-local-content-that-isn-t-spam/</guid>
    <pubDate>Thu, 18 Jun 2026 08:00:00 +0000</pubDate>
    <category>automation</category>
    <description>Generating city-level landing pages that are genuinely differentiated: the prompt architecture and the quality gates.</description>
  </item>
  <item>
    <title>GitHub Actions as a poor man&#x27;s agent orchestrator</title>
    <link>https://loopengineering.io/blog/loop-005-github-actions-as-a-poor-man-s-agent-orchestrator/</link>
    <guid>https://loopengineering.io/blog/loop-005-github-actions-as-a-poor-man-s-agent-orchestrator/</guid>
    <pubDate>Thu, 04 Jun 2026 08:00:00 +0000</pubDate>
    <category>infra</category>
    <description>You do not need an orchestration platform to run scheduled agents. A workflow file, a cache and discipline go far.</description>
  </item>
  <item>
    <title>The 90% automation target: what actually resisted</title>
    <link>https://loopengineering.io/blog/loop-004-the-90-automation-target-what-actually-resisted/</link>
    <guid>https://loopengineering.io/blog/loop-004-the-90-automation-target-what-actually-resisted/</guid>
    <pubDate>Fri, 22 May 2026 08:00:00 +0000</pubDate>
    <category>meta</category>
    <description>We set a target to automate 90% of agency operations. Here is what fell quickly, what fought back hard, and what we learned about the last stubborn 10%.</description>
  </item>
  <item>
    <title>Branded PDF reports from raw analytics, no humans involved</title>
    <link>https://loopengineering.io/blog/loop-003-branded-pdf-reports-from-raw-analytics-no-humans-involved/</link>
    <guid>https://loopengineering.io/blog/loop-003-branded-pdf-reports-from-raw-analytics-no-humans-involved/</guid>
    <pubDate>Sat, 09 May 2026 08:00:00 +0000</pubDate>
    <category>agents</category>
    <description>The full pipeline behind automated client reports: data pull, analysis, copy, layout and brand system, end to end.</description>
  </item>
  <item>
    <title>Lead scoring with a registry API and one cron job</title>
    <link>https://loopengineering.io/blog/loop-002-lead-scoring-with-a-registry-api-and-one-cron-job/</link>
    <guid>https://loopengineering.io/blog/loop-002-lead-scoring-with-a-registry-api-and-one-cron-job/</guid>
    <pubDate>Sat, 25 Apr 2026 08:00:00 +0000</pubDate>
    <category>automation</category>
    <description>How a public business registry, one nightly cron job and a single scoring prompt replaced a paid lead-generation tool for a fraction of the cost.</description>
  </item>
  <item>
    <title>Why this blog exists (and why it&#x27;s called Loop)</title>
    <link>https://loopengineering.io/blog/loop-001-why-this-blog-exists-and-why-it-s-called-loop/</link>
    <guid>https://loopengineering.io/blog/loop-001-why-this-blog-exists-and-why-it-s-called-loop/</guid>
    <pubDate>Fri, 10 Apr 2026 08:00:00 +0000</pubDate>
    <category>meta</category>
    <description>Every system I build ends up as a loop: build, run, observe, fix, run again. This blog is the observe step, written down.</description>
  </item>
</channel>
</rss>
