<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss/styles.xsl" type="text/xsl"?><rss version="2.0"><channel><title>Rojan Dahal — Writing</title><description>Essays by Rojan Dahal on production ML, agents, retrieval, and the parts of building AI systems that aren’t modeling.</description><link>https://rojandahal.com/</link><language>en-us</language><item><title>Four layers before the LLM: the gatekeeper pattern</title><link>https://rojandahal.com/writing/en/the-gatekeeper-pattern/</link><guid isPermaLink="true">https://rojandahal.com/writing/en/the-gatekeeper-pattern/</guid><description>How a stack of cheap classifiers cuts a document-IDP bill by an order of magnitude without ever waking the model.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>The cheapest token is the one you don&apos;t send</title><link>https://rojandahal.com/writing/en/the-cheapest-token/</link><guid isPermaLink="true">https://rojandahal.com/writing/en/the-cheapest-token/</guid><description>Routing, retrieval, and a small set of decisions about which questions a model should never see.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Production ML is mostly not ML</title><link>https://rojandahal.com/writing/en/production-ml-is-mostly-not-ml/</link><guid isPermaLink="true">https://rojandahal.com/writing/en/production-ml-is-mostly-not-ml/</guid><description>A field report from a three-agent IDP pipeline: what breaks first, what&apos;s worth automating, and where humans still earn their seat.</description><pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>