<?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: Rugved Kadu</title>
    <description>The latest articles on DEV Community by Rugved Kadu (@kadurugved0).</description>
    <link>https://dev.to/kadurugved0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: Rugved Kadu</title>
      <link>https://dev.to/kadurugved0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kadurugved0"/>
    <language>en</language>
    <item>
      <title>Project Mind — Turn Your GitHub History Into Searchable Memory</title>
      <dc:creator>Rugved Kadu</dc:creator>
      <pubDate>Fri, 02 Oct 2026 12:04:09 +0000</pubDate>
      <link>https://dev.to/kadurugved0/project-mind-turn-your-github-history-into-searchable-memory-1591</link>
      <guid>https://dev.to/kadurugved0/project-mind-turn-your-github-history-into-searchable-memory-1591</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Project Mind — Give Your GitHub a Memory 🧠
&lt;/h1&gt;

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

&lt;p&gt;Software projects accumulate more than code.&lt;/p&gt;

&lt;p&gt;They accumulate &lt;strong&gt;decisions, bugs, fixes, discussions, constraints, and context&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But that knowledge is usually scattered across source files, README files, GitHub issues, pull requests, commits, and personal notes.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Project Mind&lt;/strong&gt; to bring that knowledge together.&lt;/p&gt;

&lt;p&gt;Project Mind is an &lt;strong&gt;AI-powered memory and question-answering system for GitHub repositories&lt;/strong&gt;, built for a friend who works on software projects and spends a lot of time trying to remember how and why different parts of a project work.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Where did we document this?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Have we already solved this problem?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;they can ask the project directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Questions Project Mind can answer
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Why was this decision made?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Have we seen this bug before?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Which pull request introduced this change?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Where is the documentation for this feature?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“What should I know before modifying this code?”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A connected repository becomes its own searchable knowledge base.&lt;/p&gt;

&lt;p&gt;Project Mind indexes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 Source code&lt;/li&gt;
&lt;li&gt;📚 README and Markdown documentation&lt;/li&gt;
&lt;li&gt;🐛 GitHub issues&lt;/li&gt;
&lt;li&gt;🔀 Pull requests&lt;/li&gt;
&lt;li&gt;📝 Commit history&lt;/li&gt;
&lt;li&gt;🧠 Approved long-term memories&lt;/li&gt;
&lt;li&gt;⚙️ Decisions, fixes, constraints, and project notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user can then ask questions about the project using natural language.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“How does GitHub authentication work from the login page through the Auth.js callback, MongoDB user storage, session creation, and repository loading?”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Project Mind retrieves the relevant parts of the actual project and explains the flow with source references.&lt;/p&gt;

&lt;p&gt;The answer isn't just generated from the model's general knowledge.&lt;/p&gt;

&lt;p&gt;It is grounded in the &lt;strong&gt;project's own code and history&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The idea
&lt;/h3&gt;

&lt;p&gt;Most AI coding tools help answer:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“How can I write this?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Project Mind focuses on another question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Why does this project work this way?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That distinction is what I wanted to build for my friend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Less searching. More building.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🎥 &lt;strong&gt;Video Demo:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://youtu.be/Tw_DN1UkXAY?si=Hy2EeIaC2e6URv2z" rel="noopener noreferrer"&gt;https://youtu.be/Tw_DN1UkXAY?si=Hy2EeIaC2e6URv2z&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The demo shows the complete workflow:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Connect a repository
&lt;/h3&gt;

&lt;p&gt;A user authenticates with GitHub and selects the repository they want Project Mind to understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Index the project
&lt;/h3&gt;

&lt;p&gt;Project Mind collects the repository's source files, documentation, issues, pull requests, commits, and approved memories.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Browse indexed knowledge
&lt;/h3&gt;

&lt;p&gt;The user can see which sources have been indexed and where they came from.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Ask questions
&lt;/h3&gt;

&lt;p&gt;The user can ask questions about implementation details, architecture, authentication, bugs, or project history.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Trace the answer
&lt;/h3&gt;

&lt;p&gt;Retrieved sources are displayed alongside the answer so the developer can understand where the explanation came from.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Search project history
&lt;/h3&gt;

&lt;p&gt;Questions about previous bugs, fixes, decisions, and pull requests can be answered using the project's historical context.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Save long-term memories
&lt;/h3&gt;

&lt;p&gt;Important project knowledge can be explicitly saved so it remains available in future conversations.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Remove a project
&lt;/h3&gt;

&lt;p&gt;A project can be removed along with its indexed documents, memories, conversations, and synchronization data.&lt;/p&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/rugvedkadu06/ContextForge" rel="noopener noreferrer"&gt;https://github.com/rugvedkadu06/ContextForge&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Project Mind is built around &lt;strong&gt;open-weight AI and local inference&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technology Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Next.js + React&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auth.js + GitHub OAuth&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MongoDB Atlas&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MongoDB Atlas Vector Search&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Llama 3.2 3B&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nomic Embed Text&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Octokit&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  1. GitHub ingestion
&lt;/h3&gt;

&lt;p&gt;When a repository is connected, Project Mind uses GitHub APIs through &lt;strong&gt;Octokit&lt;/strong&gt; to collect project knowledge.&lt;/p&gt;

&lt;p&gt;The indexer processes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source files&lt;/li&gt;
&lt;li&gt;README files&lt;/li&gt;
&lt;li&gt;Markdown documentation&lt;/li&gt;
&lt;li&gt;Issues&lt;/li&gt;
&lt;li&gt;Pull requests&lt;/li&gt;
&lt;li&gt;Commits&lt;/li&gt;
&lt;li&gt;Approved memories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each piece of information keeps metadata describing its source.&lt;/p&gt;

&lt;p&gt;This matters because an answer shouldn't just say &lt;em&gt;what&lt;/em&gt; it found.&lt;/p&gt;

&lt;p&gt;It should be possible to understand &lt;strong&gt;where that information came from&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Chunking and embeddings
&lt;/h3&gt;

&lt;p&gt;The collected content is divided into searchable chunks.&lt;/p&gt;

&lt;p&gt;Project Mind uses &lt;strong&gt;Nomic Embed Text&lt;/strong&gt; through Ollama to generate embeddings locally.&lt;/p&gt;

&lt;p&gt;These embeddings, together with the source metadata, are stored in MongoDB Atlas.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Hybrid retrieval
&lt;/h3&gt;

&lt;p&gt;When a user asks a question, Project Mind doesn't rely on a single retrieval method.&lt;/p&gt;

&lt;p&gt;It combines:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vector search + keyword search&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;to find relevant project context.&lt;/p&gt;

&lt;p&gt;This allows semantic questions and exact project terminology to work together.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Local generation
&lt;/h3&gt;

&lt;p&gt;The retrieved context is passed to &lt;strong&gt;Llama 3.2 3B&lt;/strong&gt;, running locally through Ollama.&lt;/p&gt;

&lt;p&gt;The model generates an answer based on the retrieved project information.&lt;/p&gt;

&lt;p&gt;The result is then presented together with the sources that contributed to the answer.&lt;/p&gt;

&lt;p&gt;So instead of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The AI says this is how authentication works.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the user gets:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Here is how authentication works, and here are the parts of your project that explain it.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Long-Term Project Memory
&lt;/h2&gt;

&lt;p&gt;One of the main ideas behind Project Mind is that not every important piece of knowledge exists in the source code.&lt;/p&gt;

&lt;p&gt;Some knowledge exists only in the developers' heads.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Store GitHub tokens server-side&lt;br&gt;
&lt;strong&gt;Type:&lt;/strong&gt; Decision&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content:&lt;/strong&gt; GitHub access tokens must remain encrypted in MongoDB and must never be exposed through the browser session.&lt;/p&gt;

&lt;p&gt;This can be saved as a long-term project memory.&lt;/p&gt;

&lt;p&gt;Later, when someone asks why tokens are handled that way, the decision can be retrieved alongside the relevant implementation.&lt;/p&gt;

&lt;p&gt;This allows Project Mind to preserve not only:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;what the code does&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;but also:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;why the team decided to build it that way.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;This project deals with something developers don't always want to send to a third-party AI service:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;their project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A repository can contain private source code, internal documentation, security decisions, architecture decisions, unfinished features, debugging history, and other information that may not belong on an external AI platform.&lt;/p&gt;

&lt;p&gt;That's why local inference is an important part of Project Mind.&lt;/p&gt;

&lt;p&gt;Instead of sending the project's context to a closed AI API, Project Mind uses &lt;strong&gt;Ollama and an open-weight model&lt;/strong&gt; for local inference.&lt;/p&gt;

&lt;p&gt;This gives the developer more control over where the AI processing happens and how the system is built.&lt;/p&gt;

&lt;p&gt;Open tools also allowed me to control the entire retrieval pipeline.&lt;/p&gt;

&lt;p&gt;I could decide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which GitHub sources are indexed&lt;/li&gt;
&lt;li&gt;How documents are chunked&lt;/li&gt;
&lt;li&gt;How embeddings are generated&lt;/li&gt;
&lt;li&gt;How retrieval works&lt;/li&gt;
&lt;li&gt;Which memories are approved&lt;/li&gt;
&lt;li&gt;What context is given to the model&lt;/li&gt;
&lt;li&gt;How retrieved sources are displayed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model is therefore only one part of the system.&lt;/p&gt;

&lt;p&gt;The rest of the system — &lt;strong&gt;indexing, retrieval, memory, source tracking, and context construction&lt;/strong&gt; — is also under my control.&lt;/p&gt;

&lt;p&gt;That is what open innovation made possible for this project.&lt;/p&gt;

&lt;p&gt;I wasn't limited to building another chatbot around a closed API.&lt;/p&gt;

&lt;p&gt;I could build a &lt;strong&gt;project-specific memory system&lt;/strong&gt; around an open model.&lt;/p&gt;




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

&lt;p&gt;Building Project Mind changed how I think about AI developer tools.&lt;/p&gt;

&lt;p&gt;A repository isn't just a collection of files.&lt;/p&gt;

&lt;p&gt;It has a history.&lt;/p&gt;

&lt;p&gt;A bug might explain why a strange piece of code exists.&lt;/p&gt;

&lt;p&gt;A pull request might explain why an architecture changed.&lt;/p&gt;

&lt;p&gt;A commit might reveal when a behaviour was introduced.&lt;/p&gt;

&lt;p&gt;A project memory might explain the decision that isn't written anywhere in the code.&lt;/p&gt;

&lt;p&gt;Putting these sources together makes the repository much closer to a &lt;strong&gt;living knowledge base&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is the direction I wanted to explore with Project Mind.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of MongoDB Atlas
&lt;/h3&gt;

&lt;p&gt;Project Mind uses &lt;strong&gt;MongoDB Atlas&lt;/strong&gt; as its primary data layer.&lt;/p&gt;

&lt;p&gt;It uses &lt;strong&gt;MongoDB Atlas Vector Search&lt;/strong&gt; for semantic retrieval and stores long-term project memories alongside the indexed project knowledge.&lt;/p&gt;

&lt;p&gt;This allows the same system to connect retrieved context with its original source and preserve project-specific memory for future questions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I built Project Mind for one simple reason:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My friend shouldn't have to remember an entire software project just to work on it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The code already contains part of the answer.&lt;/p&gt;

&lt;p&gt;The issues contain another part.&lt;/p&gt;

&lt;p&gt;The pull requests contain another.&lt;/p&gt;

&lt;p&gt;The commits contain another.&lt;/p&gt;

&lt;p&gt;And sometimes the most important answer exists only in a decision someone made months ago.&lt;/p&gt;

&lt;p&gt;Project Mind brings those pieces together.&lt;/p&gt;

&lt;p&gt;It turns a GitHub repository from something you &lt;strong&gt;search through&lt;/strong&gt; into something you can &lt;strong&gt;ask questions about&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Mind — Give Your GitHub a Memory. 🧠&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built for the Hacktoberfest Weekend Challenge: Build for a Friend.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
