{"slug": "project-mind-turn-your-github-history-into-searchable-memory", "title": "Project Mind — Turn Your GitHub History Into Searchable Memory", "summary": "A developer built Project Mind, an AI-powered memory and question-answering system that indexes a GitHub repository's source files, documentation, issues, pull requests, and commits into a searchable knowledge base. The system uses GitHub APIs via Octokit to collect project knowledge, generates embeddings locally with Nomic Embed Text through Ollama, stores them with source metadata in MongoDB Atlas, and combines vector and keyword search to ground answers from the locally running Llama 3.2 3B model in the project's own code and history.", "body_md": "*This is a submission for the [Hacktoberfest Weekend Challenge: Build for a Friend](https://dev.to/challenges/hacktoberfest-weekend-2026-10-01)*\n\nSoftware projects accumulate more than code.\n\nThey accumulate **decisions, bugs, fixes, discussions, constraints, and context**.\n\nBut that knowledge is usually scattered across source files, README files, GitHub issues, pull requests, commits, and personal notes.\n\nI built **Project Mind** to bring that knowledge together.\n\nProject Mind is an **AI-powered memory and question-answering system for GitHub repositories**, 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.\n\nInstead of asking:\n\n“Where did we document this?”\n\nor:\n\n“Have we already solved this problem?”\n\nthey can ask the project directly.\n\n**“Why was this decision made?”**\n\n**“Have we seen this bug before?”**\n\n**“Which pull request introduced this change?”**\n\n**“Where is the documentation for this feature?”**\n\n**“What should I know before modifying this code?”**\n\nA connected repository becomes its own searchable knowledge base.\n\nProject Mind indexes:\n\nThe user can then ask questions about the project using natural language.\n\nFor example:\n\n**“How does GitHub authentication work from the login page through the Auth.js callback, MongoDB user storage, session creation, and repository loading?”**\n\nProject Mind retrieves the relevant parts of the actual project and explains the flow with source references.\n\nThe answer isn't just generated from the model's general knowledge.\n\nIt is grounded in the **project's own code and history**.\n\nMost AI coding tools help answer:\n\n**“How can I write this?”**\n\nProject Mind focuses on another question:\n\n**“Why does this project work this way?”**\n\nThat distinction is what I wanted to build for my friend.\n\n**Less searching. More building.**\n\n🎥 **Video Demo:**\n\n[https://youtu.be/Tw_DN1UkXAY?si=Hy2EeIaC2e6URv2z](https://youtu.be/Tw_DN1UkXAY?si=Hy2EeIaC2e6URv2z)\n\nThe demo shows the complete workflow:\n\nA user authenticates with GitHub and selects the repository they want Project Mind to understand.\n\nProject Mind collects the repository's source files, documentation, issues, pull requests, commits, and approved memories.\n\nThe user can see which sources have been indexed and where they came from.\n\nThe user can ask questions about implementation details, architecture, authentication, bugs, or project history.\n\nRetrieved sources are displayed alongside the answer so the developer can understand where the explanation came from.\n\nQuestions about previous bugs, fixes, decisions, and pull requests can be answered using the project's historical context.\n\nImportant project knowledge can be explicitly saved so it remains available in future conversations.\n\nA project can be removed along with its indexed documents, memories, conversations, and synchronization data.\n\n💻 **GitHub Repository:**\n\n[https://github.com/rugvedkadu06/ContextForge](https://github.com/rugvedkadu06/ContextForge)\n\nProject Mind is built around **open-weight AI and local inference**.\n\nWhen a repository is connected, Project Mind uses GitHub APIs through **Octokit** to collect project knowledge.\n\nThe indexer processes:\n\nEach piece of information keeps metadata describing its source.\n\nThis matters because an answer shouldn't just say *what* it found.\n\nIt should be possible to understand **where that information came from**.\n\nThe collected content is divided into searchable chunks.\n\nProject Mind uses **Nomic Embed Text** through Ollama to generate embeddings locally.\n\nThese embeddings, together with the source metadata, are stored in MongoDB Atlas.\n\nWhen a user asks a question, Project Mind doesn't rely on a single retrieval method.\n\nIt combines:\n\n**Vector search + keyword search**\n\nto find relevant project context.\n\nThis allows semantic questions and exact project terminology to work together.\n\nThe retrieved context is passed to **Llama 3.2 3B**, running locally through Ollama.\n\nThe model generates an answer based on the retrieved project information.\n\nThe result is then presented together with the sources that contributed to the answer.\n\nSo instead of:\n\n“The AI says this is how authentication works.”\n\nthe user gets:\n\n**“Here is how authentication works, and here are the parts of your project that explain it.”**\n\nOne of the main ideas behind Project Mind is that not every important piece of knowledge exists in the source code.\n\nSome knowledge exists only in the developers' heads.\n\n**Title:** Store GitHub tokens server-side\n\n**Type:** Decision\n\n**Content:** GitHub access tokens must remain encrypted in MongoDB and must never be exposed through the browser session.\n\nThis can be saved as a long-term project memory.\n\nLater, when someone asks why tokens are handled that way, the decision can be retrieved alongside the relevant implementation.\n\nThis allows Project Mind to preserve not only:\n\n**what the code does**\n\nbut also:\n\n**why the team decided to build it that way.**\n\nThis project deals with something developers don't always want to send to a third-party AI service:\n\n**their project.**\n\nA 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.\n\nThat's why local inference is an important part of Project Mind.\n\nInstead of sending the project's context to a closed AI API, Project Mind uses **Ollama and an open-weight model** for local inference.\n\nThis gives the developer more control over where the AI processing happens and how the system is built.\n\nOpen tools also allowed me to control the entire retrieval pipeline.\n\nI could decide:\n\nThe model is therefore only one part of the system.\n\nThe rest of the system — **indexing, retrieval, memory, source tracking, and context construction** — is also under my control.\n\nThat is what open innovation made possible for this project.\n\nI wasn't limited to building another chatbot around a closed API.\n\nI could build a **project-specific memory system** around an open model.\n\nBuilding Project Mind changed how I think about AI developer tools.\n\nA repository isn't just a collection of files.\n\nIt has a history.\n\nA bug might explain why a strange piece of code exists.\n\nA pull request might explain why an architecture changed.\n\nA commit might reveal when a behaviour was introduced.\n\nA project memory might explain the decision that isn't written anywhere in the code.\n\nPutting these sources together makes the repository much closer to a **living knowledge base**.\n\nThat is the direction I wanted to explore with Project Mind.\n\nProject Mind uses **MongoDB Atlas** as its primary data layer.\n\nIt uses **MongoDB Atlas Vector Search** for semantic retrieval and stores long-term project memories alongside the indexed project knowledge.\n\nThis allows the same system to connect retrieved context with its original source and preserve project-specific memory for future questions.\n\nI built Project Mind for one simple reason:\n\n**My friend shouldn't have to remember an entire software project just to work on it.**\n\nThe code already contains part of the answer.\n\nThe issues contain another part.\n\nThe pull requests contain another.\n\nThe commits contain another.\n\nAnd sometimes the most important answer exists only in a decision someone made months ago.\n\nProject Mind brings those pieces together.\n\nIt turns a GitHub repository from something you **search through** into something you can **ask questions about**.\n\n**Project Mind — Give Your GitHub a Memory. 🧠**\n\n*Built for the Hacktoberfest Weekend Challenge: Build for a Friend.*", "url": "https://wpnews.pro/news/project-mind-turn-your-github-history-into-searchable-memory", "canonical_source": "https://dev.to/kadurugved0/project-mind-turn-your-github-history-into-searchable-memory-1591", "published_at": "2026-10-02 12:04:09+00:00", "updated_at": "2026-10-02 12:08:11.972530+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools", "developer-tools", "ai-agents"], "entities": ["Project Mind", "GitHub", "Ollama", "MongoDB Atlas", "Llama 3.2 3B", "Nomic Embed Text", "Octokit", "Hacktoberfest"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/project-mind-turn-your-github-history-into-searchable-memory", "markdown": "https://wpnews.pro/news/project-mind-turn-your-github-history-into-searchable-memory.md", "text": "https://wpnews.pro/news/project-mind-turn-your-github-history-into-searchable-memory.txt", "jsonld": "https://wpnews.pro/news/project-mind-turn-your-github-history-into-searchable-memory.jsonld"}}