<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dhruv Mishra — Writing</title>
    <link>https://dhruvinity.com/blog</link>
    <atom:link href="https://dhruvinity.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Build logs and writing on full-stack engineering, AI/ML, and developer tooling.</description>
    <language>en</language>
    <lastBuildDate>Tue, 02 Jun 2026 15:42:08 GMT</lastBuildDate>
    <item>
      <title>What RAG actually is, for people who build CRUD apps</title>
      <link>https://dhruvinity.com/blog/what-rag-actually-is</link>
      <guid>https://dhruvinity.com/blog/what-rag-actually-is</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <description>Retrieval-augmented generation gets explained either as a vendor diagram or a wall of vector-math. Here it is as something a web developer already understands: a WHERE clause that runs before the model does.</description>
    </item>
    <item>
      <title>Embeddings without the linear-algebra lecture</title>
      <link>https://dhruvinity.com/blog/embeddings-without-the-linear-algebra-lecture</link>
      <guid>https://dhruvinity.com/blog/embeddings-without-the-linear-algebra-lecture</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <description>Embeddings get taught with a matrix and a rotating scatter plot. You don&apos;t need either to use them. Here&apos;s the only mental model that matters — a map — plus the three catches the quickstarts leave out.</description>
    </item>
    <item>
      <title>I built a RAG engine that skips the vector database</title>
      <link>https://dhruvinity.com/blog/rag-without-a-vector-database</link>
      <guid>https://dhruvinity.com/blog/rag-without-a-vector-database</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <description>The default RAG recipe chunks your docs and embeds them into a vector store. grove doesn&apos;t. Here&apos;s the build log: why tree-of-contents retrieval, how the descent works, why rebuilds are free — and where it&apos;s honestly worse.</description>
    </item>
    <item>
      <title>An image converter that never uploads your image</title>
      <link>https://dhruvinity.com/blog/image-converter-that-never-uploads</link>
      <guid>https://dhruvinity.com/blog/image-converter-that-never-uploads</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <description>Browsers have shipped everything you need to convert and compress images locally for years. Here&apos;s how the Lab&apos;s converter works in three built-in APIs — and the two format gotchas that quietly bite.</description>
    </item>
    <item>
      <title>Turning a single-page portfolio into a prerendered, multi-route site</title>
      <link>https://dhruvinity.com/blog/multi-route-prerendered-portfolio</link>
      <guid>https://dhruvinity.com/blog/multi-route-prerendered-portfolio</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <description>Adding React Router and vite-react-ssg to a 3D-heavy portfolio: static HTML and per-route meta tags with no SSR server, and keeping the heavy WebGL bundle off the lightweight tool and blog pages.</description>
    </item>
    <item>
      <title>I Built a Tool That Slashes the Cost of Feeding Docs to AI</title>
      <link>https://dhruvinity.com/blog/i-built-a-tool-that-slashes-the-cost-of-feeding-docs-to-ai</link>
      <guid>https://dhruvinity.com/blog/i-built-a-tool-that-slashes-the-cost-of-feeding-docs-to-ai</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <description>Markdown files are the silent money pit of many LLM workflows. mdcompress strips the parts AI does not need, so your docs cost less to read.</description>
    </item>
    <item>
      <title>The AI isn’t the same person twice</title>
      <link>https://dhruvinity.com/blog/the-ai-isnt-the-same-person-twice</link>
      <guid>https://dhruvinity.com/blog/the-ai-isnt-the-same-person-twice</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <description>You can ask an AI the exact same question on two different days and receive two meaningfully different answers. Here is why — and how to work with it.</description>
    </item>
    <item>
      <title>Context is a bucket of water</title>
      <link>https://dhruvinity.com/blog/context-is-a-bucket-of-water</link>
      <guid>https://dhruvinity.com/blog/context-is-a-bucket-of-water</guid>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <description>“Context” gets thrown around dressed in engineer terminology — tokens, windows. A simpler mental model: it behaves like a bucket of water.</description>
    </item>
  </channel>
</rss>
