<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: PARIKSHIT SHAH</title>
    <description>The latest articles on DEV Community by PARIKSHIT SHAH (@parikshitshah).</description>
    <link>https://dev.to/parikshitshah</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4117666%2Fae205f7b-2e13-406e-9ac3-cbf2f9fe1700.jpg</url>
      <title>DEV Community: PARIKSHIT SHAH</title>
      <link>https://dev.to/parikshitshah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/parikshitshah"/>
    <language>en</language>
    <item>
      <title>Building a RAG-Powered Chatbot That Lets You Talk to Your Codebase</title>
      <dc:creator>PARIKSHIT SHAH</dc:creator>
      <pubDate>Wed, 09 Sep 2026 14:00:39 +0000</pubDate>
      <link>https://dev.to/parikshitshah/building-a-rag-powered-chatbot-that-lets-you-talk-to-your-codebase-4jf0</link>
      <guid>https://dev.to/parikshitshah/building-a-rag-powered-chatbot-that-lets-you-talk-to-your-codebase-4jf0</guid>
      <description>&lt;p&gt;As a full-stack developer working on increasingly large codebases, I kept running into the same problem: onboarding into an unfamiliar repo, or even my own old projects, meant hours of manually reading through files just to answer simple questions like "where is auth handled?" or "what does this function actually do?"&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Chat with your Codebase&lt;/strong&gt; — a RAG-powered MERN app that lets you ask plain-language questions about any codebase and get accurate, context-aware answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;The app is built around a classic Retrieval-Augmented Generation (RAG) pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Chunking &amp;amp; Embedding&lt;/strong&gt; — The codebase is split into meaningful chunks (functions, classes, files) and converted into vector embeddings using local embedding models, avoiding unnecessary API costs for this step.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector Search&lt;/strong&gt; — These embeddings are stored and queried using MongoDB's vector search capabilities, letting the app quickly find the most relevant pieces of code for any question.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generation&lt;/strong&gt; — The retrieved context is passed to Groq's Llama 3.3, which generates a natural-language answer grounded in the actual code, not hallucinated guesses.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend/Backend:&lt;/strong&gt; MERN (MongoDB, Express, React, Node.js)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embeddings:&lt;/strong&gt; Local embedding models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector Search:&lt;/strong&gt; MongoDB Atlas Vector Search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM:&lt;/strong&gt; Groq's Llama 3.3 (chosen for speed and cost-efficiency over larger hosted models)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Vercel&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Working on this taught me a lot about the practical side of RAG systems — how chunking strategy directly affects answer quality, why local embeddings can be a smart trade-off for cost control, and how much prompt engineering matters once you're grounding an LLM in retrieved context instead of letting it answer from general knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it out
&lt;/h2&gt;

&lt;p&gt;You can check out the live demo here: &lt;a href="https://chat-with-your-codebase-fz2b.vercel.app/" rel="noopener noreferrer"&gt;Chat with your Codebase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the code is open source on &lt;a href="https://github.com/PARIKSHIT-Shah/Chat-with-your-codebase" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Would love feedback from anyone who's built something similar, or has thoughts on better chunking strategies for large repos!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>rag</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
