<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Harshil Jani on Medium]]></title>
        <description><![CDATA[Stories by Harshil Jani on Medium]]></description>
        <link>https://medium.com/@harshiljani2002?source=rss-bfe1ae94cd4f------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*Fbg9e8bg2aiggO4OPZbVBA.png</url>
            <title>Stories by Harshil Jani on Medium</title>
            <link>https://medium.com/@harshiljani2002?source=rss-bfe1ae94cd4f------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 07 Jun 2026 12:50:12 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@harshiljani2002/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Haversine vs OSRM: How Far Apart Are Two Places? (A Bug I Shipped)]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/haversine-vs-osrm-how-far-apart-are-two-places-a-bug-i-shipped-936d871239e9?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/949/1*_q_W1V2Y3DWkYJZT9S8pzg.png" width="949"></a></p><p class="medium-feed-snippet">&#x201C;Her pickup point is 6.2 kms away from her address, and she wants to cancel.&#x201D;</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/haversine-vs-osrm-how-far-apart-are-two-places-a-bug-i-shipped-936d871239e9?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/haversine-vs-osrm-how-far-apart-are-two-places-a-bug-i-shipped-936d871239e9?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/936d871239e9</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[system-design-interview]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[algorithms]]></category>
            <category><![CDATA[backend]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Wed, 03 Jun 2026 01:01:12 GMT</pubDate>
            <atom:updated>2026-06-03T01:01:12.648Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Shipping LLMs (Part 6/6): How to Stop an LLM Agent From Looping]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-6-6-how-to-stop-an-llm-agent-from-looping-e419ead7d23c?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/2272/1*artaObmW6KaT9lETfQMs9g.png" width="2272"></a></p><p class="medium-feed-snippet">Previously: Shipping LLMs (Part 5/6): Where Your LLM Tokens Actually Go. I named the five silent token leaks. This piece is about the&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-6-6-how-to-stop-an-llm-agent-from-looping-e419ead7d23c?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/shipping-llms-part-6-6-how-to-stop-an-llm-agent-from-looping-e419ead7d23c?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/e419ead7d23c</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[agentic-ai]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Thu, 21 May 2026 03:39:21 GMT</pubDate>
            <atom:updated>2026-05-21T03:39:21.547Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Shipping LLMs (Part 5/6): Where Your LLM Tokens Actually Go]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-5-6-where-your-llm-tokens-actually-go-1d81ef59513f?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/2207/1*HYFXZbnNppboM1bNraWpUg.png" width="2207"></a></p><p class="medium-feed-snippet">Previously: Shipping LLMs (Part 4/6): How to Evaluate a RAG Pipeline. I argued for the 90/10 RAGAS-plus-human eval rhythm. This piece is&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-5-6-where-your-llm-tokens-actually-go-1d81ef59513f?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/shipping-llms-part-5-6-where-your-llm-tokens-actually-go-1d81ef59513f?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/1d81ef59513f</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[llm]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Wed, 20 May 2026 22:28:39 GMT</pubDate>
            <atom:updated>2026-05-20T22:28:39.418Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Shipping LLMs (Part 4/6): How to Evaluate a RAG Pipeline]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-4-6-how-to-evaluate-a-rag-pipeline-9d31e7fdb2c7?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/1410/1*0-YJSm3Egb673l8Vg6A-Rg.png" width="1410"></a></p><p class="medium-feed-snippet">Previously: Shipping LLMs (Part 3/6): Speculative Decoding vs Quantization. I argued you should run both. This piece is about whether the&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-4-6-how-to-evaluate-a-rag-pipeline-9d31e7fdb2c7?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/shipping-llms-part-4-6-how-to-evaluate-a-rag-pipeline-9d31e7fdb2c7?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/9d31e7fdb2c7</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[large-language-models]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Sun, 17 May 2026 22:52:46 GMT</pubDate>
            <atom:updated>2026-05-17T22:52:46.569Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Shipping LLMs (Part 3/6): Speculative Decoding vs Quantization]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-3-6-speculative-decoding-vs-quantization-1c80938f1795?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/2061/1*LInkIn-Fz60PmVNIHMdkDw.png" width="2061"></a></p><p class="medium-feed-snippet">Quantization fixes memory bandwidth. Speculative decoding fixes autoregression. Stack them for 3&#x2013;4x cheaper LLM inference, in this order.</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-3-6-speculative-decoding-vs-quantization-1c80938f1795?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/shipping-llms-part-3-6-speculative-decoding-vs-quantization-1c80938f1795?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/1c80938f1795</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[large-language-models]]></category>
            <category><![CDATA[llm]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Sun, 17 May 2026 22:35:40 GMT</pubDate>
            <atom:updated>2026-05-17T22:36:51.324Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Shipping LLMs (Part 2/6): What’s Actually in Your KV Cache?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-2-6-whats-actually-in-your-kv-cache-4bbeada22674?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/1735/1*FQ3Q4UedUhKZineXE3a-gg.png" width="1735"></a></p><p class="medium-feed-snippet">Previously: Shipping LLMs (Part 1/6): Prompt Caching vs Semantic Caching. I argued you should always prompt-cache your stable prefixes&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-2-6-whats-actually-in-your-kv-cache-4bbeada22674?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/shipping-llms-part-2-6-whats-actually-in-your-kv-cache-4bbeada22674?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/4bbeada22674</guid>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[backend-development]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Sat, 16 May 2026 08:14:10 GMT</pubDate>
            <atom:updated>2026-05-17T21:21:27.632Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Shipping LLMs (Part 1/6): Prompt Caching vs Semantic Caching]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-1-6-prompt-caching-vs-semantic-caching-6ee0dcef7042?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/2158/1*ms3S7oLclUcOhNshSQanVA.png" width="2158"></a></p><p class="medium-feed-snippet">A user types a question into your AI-powered support chatbot:</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/shipping-llms-part-1-6-prompt-caching-vs-semantic-caching-6ee0dcef7042?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/shipping-llms-part-1-6-prompt-caching-vs-semantic-caching-6ee0dcef7042?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/6ee0dcef7042</guid>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Sat, 16 May 2026 07:55:29 GMT</pubDate>
            <atom:updated>2026-05-17T21:13:28.819Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Why Talking to Agents Is the Highest-Leverage Move in 2026 — By Anthropic’s Claude Code Team]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@harshiljani2002/why-talking-to-agents-is-the-highest-leverage-move-in-2026-by-anthropics-claude-code-team-03cf102534d0?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/1928/1*lpEWbtDtE9-q2bHaUJDXVA.png" width="1928"></a></p><p class="medium-feed-snippet">I&#x2019;ve been following Thariq Shihipar (@trq212) for a while now. He&#x2019;s on the Claude Code team at Anthropic. He&#x2019;s the guy who built the&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@harshiljani2002/why-talking-to-agents-is-the-highest-leverage-move-in-2026-by-anthropics-claude-code-team-03cf102534d0?source=rss-bfe1ae94cd4f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@harshiljani2002/why-talking-to-agents-is-the-highest-leverage-move-in-2026-by-anthropics-claude-code-team-03cf102534d0?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/03cf102534d0</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[anthropic-claude]]></category>
            <category><![CDATA[productivity]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Fri, 10 Apr 2026 21:06:40 GMT</pubDate>
            <atom:updated>2026-04-10T21:06:40.257Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[How to Get Clean Text in AI-Generated Images Every Time]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://ai.plainenglish.io/how-to-get-clean-text-in-ai-generated-images-every-time-e4ccbd41cd80?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/2272/1*UMxqOEceZZP-9aXGqg0Grg.png" width="2272"></a></p><p class="medium-feed-snippet">Every LLM which I use Claude, ChatGPT, Grok etc. has the same infuriating problem when it comes to texts on images. I ask for a clean&#x2026;</p><p class="medium-feed-link"><a href="https://ai.plainenglish.io/how-to-get-clean-text-in-ai-generated-images-every-time-e4ccbd41cd80?source=rss-bfe1ae94cd4f------2">Continue reading on Artificial Intelligence in Plain English »</a></p></div>]]></description>
            <link>https://ai.plainenglish.io/how-to-get-clean-text-in-ai-generated-images-every-time-e4ccbd41cd80?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/e4ccbd41cd80</guid>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[content-marketing]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Fri, 13 Mar 2026 22:02:18 GMT</pubDate>
            <atom:updated>2026-03-14T07:23:03.656Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Stop falling in love with your projects and Ship them out.]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/engineering-playbook/stop-falling-in-love-with-your-projects-and-ship-them-out-4b37f21827b5?source=rss-bfe1ae94cd4f------2"><img src="https://cdn-images-1.medium.com/max/1440/1*bp3euUzsF6Xy2E9nHySRXQ.png" width="1440"></a></p><p class="medium-feed-snippet">I&#x2019;ve killed more side projects than I&#x2019;ve shipped. Beautiful READMEs, clean architectures, clever abstractions and zero users.</p><p class="medium-feed-link"><a href="https://medium.com/engineering-playbook/stop-falling-in-love-with-your-projects-and-ship-them-out-4b37f21827b5?source=rss-bfe1ae94cd4f------2">Continue reading on Production Engineering Playbook »</a></p></div>]]></description>
            <link>https://medium.com/engineering-playbook/stop-falling-in-love-with-your-projects-and-ship-them-out-4b37f21827b5?source=rss-bfe1ae94cd4f------2</link>
            <guid isPermaLink="false">https://medium.com/p/4b37f21827b5</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[productivity]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[claude]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Harshil Jani]]></dc:creator>
            <pubDate>Fri, 06 Mar 2026 21:00:33 GMT</pubDate>
            <atom:updated>2026-03-17T19:55:00.427Z</atom:updated>
        </item>
    </channel>
</rss>