<?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: Saurabh Kumar</title>
    <description>The latest articles on DEV Community by Saurabh Kumar (@dev-saurabh-k).</description>
    <link>https://dev.to/dev-saurabh-k</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%2F4145822%2F3664ef9f-c5c1-4c80-bb8d-7717f829e0af.png</url>
      <title>DEV Community: Saurabh Kumar</title>
      <link>https://dev.to/dev-saurabh-k</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dev-saurabh-k"/>
    <language>en</language>
    <item>
      <title>FamilyVault: An Offline-First AI Document Safe Built for My Parents</title>
      <dc:creator>Saurabh Kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 17:54:17 +0000</pubDate>
      <link>https://dev.to/dev-saurabh-k/familyvault-an-offline-first-ai-document-safe-built-for-my-parents-17mp</link>
      <guid>https://dev.to/dev-saurabh-k/familyvault-an-offline-first-ai-document-safe-built-for-my-parents-17mp</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd5qxptyt993pmhl6ltdo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd5qxptyt993pmhl6ltdo.png" alt=" " width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs6h6tudyi71w6wruxcgp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs6h6tudyi71w6wruxcgp.png" alt=" " width="800" height="447"&gt;&lt;/a&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;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;FamilyVault&lt;/strong&gt; for my parents.&lt;/p&gt;

&lt;p&gt;Like almost every household, my family has a chaotic physical drawer and a messy desktop folder filled with years of paperwork: health insurance cards, tax returns, hospital discharge summaries, birth certificates, and academic marksheets. &lt;/p&gt;

&lt;p&gt;A few months ago, when my dad was dealing with an urgent insurance claim and a visa renewal around the same time, we hit two major headaches:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Finding the exact policy rider clause took hours of frantic digging through scanned PDFs.&lt;/li&gt;
&lt;li&gt;A subtle typo in a date of birth between an old identity document and a newer certificate almost derailed an official application.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When I showed him cloud-based OCR tools and commercial AI assistants that could search through documents, his immediate reaction was: &lt;em&gt;"I am not uploading our family's passports, tax files, and medical histories to some company's remote servers."&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;He was completely right. Organizing family documents shouldn't require surrendering your family's privacy.&lt;/p&gt;

&lt;p&gt;Together with my teammate Rajnishant Kumar, I built &lt;strong&gt;FamilyVault&lt;/strong&gt;—an offline-first, zero-cloud desktop digital safe for family documents. It runs multimodal AI and discrepancy detection directly on an ordinary laptop, ensuring not a single byte ever leaves the computer.&lt;/p&gt;
&lt;h3&gt;
  
  
  What it does for them:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart Drag-and-Drop Ingestion:&lt;/strong&gt; When my parents drop in a scanned bill, ID, or PDF, local OCR and vision models automatically determine the document type, family member, issuing authority, and dates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Document Contradiction Engine:&lt;/strong&gt; It extracts atomic facts (legal names, dates of birth, policy numbers) across all files in the vault. If an Aadhaar card and a marksheet have conflicting date-of-birth spellings, FamilyVault flags it side-by-side with citations before an official government or visa application gets rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Natural-Language Search with Exact Citations:&lt;/strong&gt; My dad can ask questions like &lt;em&gt;"What is the deductible on our ICICI health policy?"&lt;/em&gt; and get an answer backed by direct, clickable snippets from the original document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bank-Grade Local Security:&lt;/strong&gt; Everything is locked on-disk with AES-256-GCM envelope encryption, Argon2id key derivation, and SQLCipher.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I handed the build over to my dad and showed him the search and contradiction engine flagging a birthdate discrepancy entirely with the Wi-Fi turned off, his first words were: &lt;em&gt;"Finally, something that actually respects where our data lives."&lt;/em&gt;&lt;/p&gt;


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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Download &amp;amp; Web Landing:&lt;/strong&gt; &lt;a href="https://hactober-fest-family-vault-download.vercel.app/" rel="noopener noreferrer"&gt;https://hactober-fest-family-vault-download.vercel.app/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;The complete source code is public and open-source under the MIT license:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Dev-Saurabh-K" rel="noopener noreferrer"&gt;
        Dev-Saurabh-K
      &lt;/a&gt; / &lt;a href="https://github.com/Dev-Saurabh-K/family-vault" rel="noopener noreferrer"&gt;
        family-vault
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;FamilyVault&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;FamilyVault is a Windows desktop application for keeping family documents in a password-protected, portable vault. It stores original documents as encrypted objects, preserves document history, and provides local extraction, search, expiry tracking, and document-grounded assistance.&lt;/p&gt;
&lt;p&gt;The vault is designed to remain usable independently of the installed application. FamilyVault is intended to work offline; optional model provisioning requires an internet connection to download the local AI runtime and model.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What it does&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Creates, opens, locks, and restores password-protected &lt;code&gt;.vault&lt;/code&gt; folders.&lt;/li&gt;
&lt;li&gt;Imports PDF and image documents and stores originals encrypted.&lt;/li&gt;
&lt;li&gt;Keeps document versions and an audit history; importing a newer version does not overwrite the prior one.&lt;/li&gt;
&lt;li&gt;Extracts document text locally, proposes metadata for review, and tracks expiry dates.&lt;/li&gt;
&lt;li&gt;Searches document metadata and text, with a separate semantic search mode.&lt;/li&gt;
&lt;li&gt;Answers questions from retrieved document content using local inference when the local model is available, with citations where available.&lt;/li&gt;
&lt;li&gt;Builds and…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Dev-Saurabh-K/family-vault" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Dev-Saurabh-K/family-vault" rel="noopener noreferrer"&gt;https://github.com/Dev-Saurabh-K/family-vault&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;FamilyVault is built with &lt;strong&gt;Electron&lt;/strong&gt;, &lt;strong&gt;JavaScript&lt;/strong&gt;, &lt;strong&gt;SQLite / SQLCipher&lt;/strong&gt;, and open-weight AI runtimes:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Local Open-Source AI Architecture
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 4 (Open-Weights Inference):&lt;/strong&gt; We used Google's open-weight &lt;strong&gt;Gemma 4&lt;/strong&gt; (&lt;code&gt;Gemma-4-E2B&lt;/code&gt; quantized GGUF) running locally on-device. The model is supervised via a local &lt;code&gt;llama-server&lt;/code&gt; process bound exclusively to &lt;code&gt;127.0.0.1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grounded Document Q&amp;amp;A:&lt;/strong&gt; We engineered a deterministic retrieval pipeline. Retrieved document chunks pass through our local embedding search, and Gemma 4 generates responses strictly constrained to cite document line numbers, eliminating hallucinations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local OCR:&lt;/strong&gt; Text extraction is handled by &lt;code&gt;Tesseract.js&lt;/code&gt; in background worker threads, allowing offline scanning without needing cloud OCR APIs or large Python runtime dependencies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Contradiction &amp;amp; Verification Pipeline
&lt;/h3&gt;

&lt;p&gt;Rather than blindly trusting an LLM with critical legal numbers, we treat AI extractions as untrusted suggestions. Extracted entities pass through deterministic regex and schema validators before entering SQLite. A discrepancy detection module then runs cross-record diffs across family profiles to highlight conflicting facts.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Sandboxing &amp;amp; Zero-Network Guarantee
&lt;/h3&gt;

&lt;p&gt;The Electron frontend runs under a strict Content Security Policy (CSP) with remote network requests disabled. All database operations and cryptographic operations (Argon2id + AES-256-GCM) execute in isolated preload processes.&lt;/p&gt;




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

&lt;p&gt;For a project like FamilyVault, &lt;strong&gt;open-source AI wasn't just a technical preference—it was the only viable path.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;True Privacy Requires Open Weights:&lt;/strong&gt; Closed APIs (like commercial cloud LLMs) require streaming sensitive personal identifiers, bank statements, and health records over the wire to third-party data centers. Open weights allowed us to download the intelligence once and run it indefinitely inside a local sandbox.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Resilience:&lt;/strong&gt; Emergency hospital visits or international travel often involve spotty or nonexistent internet. Because open models run on-device, FamilyVault works 100% offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Subscription or Token Tolls:&lt;/strong&gt; Managing family paperwork is a lifelong chore. Families shouldn't have to worry about monthly API subscription bills or rate limits just to look up an old vaccination record or tax form.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transparency &amp;amp; Auditability:&lt;/strong&gt; In security-critical personal software, open source means anyone can audit the code to verify that documents are never phoned home.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;We leveraged Antigravity and DevRelay during our hacking session to architect the cryptographic envelope, refine the local llama-server process lifecycle, and verify unit test suites. &lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Featured Prize Category: &lt;strong&gt;Best Use of Gemma&lt;/strong&gt; ($200)
&lt;/h3&gt;

&lt;p&gt;FamilyVault uses &lt;strong&gt;Google Gemma 4&lt;/strong&gt; as the core intelligence engine for on-device document understanding and grounded natural-language querying. By bundling a quantized Gemma 4 model via local llama-server, we achieved sub-second inference on ordinary consumer laptops with zero data leaving the machine, proving that modern generative AI can be brought directly to private family data without cloud compromise.&lt;/p&gt;




&lt;h3&gt;
  
  
  Team Members
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Saurabh Kumar&lt;/strong&gt; (&lt;a href="https://dev.to/dev-saurabh-k"&gt;@dev-saurabh-k&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rajnishant Kumar&lt;/strong&gt; (Teammate)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hf26challenge</category>
      <category>hacktoberfest</category>
      <category>gemma</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Built GitOCX — an AI-powered GitHub repository analysis platform.</title>
      <dc:creator>Saurabh Kumar</dc:creator>
      <pubDate>Thu, 01 Oct 2026 06:17:02 +0000</pubDate>
      <link>https://dev.to/dev-saurabh-k/built-gitocx-an-ai-powered-github-repository-analysis-platform-1l3b</link>
      <guid>https://dev.to/dev-saurabh-k/built-gitocx-an-ai-powered-github-repository-analysis-platform-1l3b</guid>
      <description>&lt;h1&gt;
  
  
  What I Built
&lt;/h1&gt;

&lt;p&gt;I built &lt;strong&gt;GitOCX&lt;/strong&gt;, an AI-powered developer tool that analyzes GitHub repositories to help developers understand how a project evolves and how development knowledge is distributed across a codebase.&lt;/p&gt;

&lt;p&gt;GitOCX analyzes repository commit history and uses AI to group related commits into meaningful features. It then provides insights into contributor activity and the areas of the project different contributors have worked on.&lt;/p&gt;

&lt;p&gt;The idea came from a simple problem: a GitHub repository can contain hundreds or thousands of commits, but the commit history alone doesn't always provide a clear picture of how the project evolved.&lt;/p&gt;

&lt;p&gt;We wanted to transform that raw history into something more meaningful — showing &lt;strong&gt;what features were developed, who contributed to them, and where development knowledge is concentrated within the project&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One of our biggest challenges was the cost of AI processing. Analyzing large repositories can require significant token usage, and repeatedly sending the same repository data to an AI service is both expensive and inefficient.&lt;/p&gt;

&lt;p&gt;To address this, we implemented &lt;strong&gt;caching for analyzed repository data&lt;/strong&gt;, allowing us to reuse previous results instead of unnecessarily processing the same information again.&lt;/p&gt;

&lt;p&gt;Building GitOCX gave me practical experience with &lt;strong&gt;GitHub APIs, AI-powered analysis, backend architecture, caching, data processing, and building developer-focused tools&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitOCX:&lt;/strong&gt; &lt;a href="https://explorers-wheat.vercel.app/" rel="noopener noreferrer"&gt;https://explorers-wheat.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/Dev-Saurabh-K/Explorers" rel="noopener noreferrer"&gt;https://github.com/Dev-Saurabh-K/Explorers&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Demo
&lt;/h1&gt;

&lt;p&gt;Explore the deployed version of GitOCX:&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://explorers-wheat.vercel.app/" rel="noopener noreferrer"&gt;https://explorers-wheat.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Partner Technologies
&lt;/h1&gt;

&lt;p&gt;GitOCX uses AI as a core part of its repository-analysis workflow.&lt;/p&gt;

&lt;p&gt;We use AI to analyze commit information and categorize related commits into meaningful features. This allows GitOCX to move beyond simply displaying a repository's commit history and instead extract higher-level information from it.&lt;/p&gt;

&lt;p&gt;One of the main engineering challenges was controlling AI usage and keeping the system efficient. Since processing repository data can require many tokens, we introduced caching to avoid repeatedly sending the same information for analysis.&lt;/p&gt;

&lt;p&gt;This gave us hands-on experience designing an application where AI is integrated into a larger backend system rather than being treated as a standalone feature.&lt;/p&gt;

&lt;h1&gt;
  
  
  Hackathon Experience
&lt;/h1&gt;

&lt;p&gt;The hackathon was an opportunity to take an idea from a rough concept to a working product within a limited amount of time.&lt;/p&gt;

&lt;p&gt;One of my biggest takeaways was the importance of &lt;strong&gt;planning before implementation&lt;/strong&gt;. GitOCX required multiple pieces to work together — GitHub APIs, backend services, AI processing, caching, and the frontend. Thinking through the architecture and workflow before implementation helped us avoid unnecessary rework later.&lt;/p&gt;

&lt;p&gt;We also faced the realities of building under a deadline: debugging unexpected issues, changing our approach when something didn't work, and working late to get the project into a usable state.&lt;/p&gt;

&lt;p&gt;Beyond the technical experience, the project taught me a lot about &lt;strong&gt;team management, dividing work effectively, communicating ideas, and turning a complex idea into something that can actually be built&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The most valuable part was seeing a real GitHub repository go through our system and come out as structured, understandable information instead of just a long list of commits.&lt;/p&gt;

&lt;p&gt;GitOCX started as an idea about understanding repository history, but building it gave us a much deeper understanding of &lt;strong&gt;AI engineering, backend systems, caching, collaboration, and product development under constraints&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgx2yx9j9tkt4oovtdgfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgx2yx9j9tkt4oovtdgfb.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F789mdeqf9wvudku022oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F789mdeqf9wvudku022oi.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6lceu2c70ab94o8o3mj2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6lceu2c70ab94o8o3mj2.png" alt=" " width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mlhacks</category>
      <category>devchallenge</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>GitOcx</title>
      <dc:creator>Saurabh Kumar</dc:creator>
      <pubDate>Wed, 30 Sep 2026 09:42:37 +0000</pubDate>
      <link>https://dev.to/dev-saurabh-k/gitocx-33oh</link>
      <guid>https://dev.to/dev-saurabh-k/gitocx-33oh</guid>
      <description>&lt;h1&gt;
  
  
  GitOcx
&lt;/h1&gt;

&lt;p&gt;AI-powered GitHub documentation and knowledge analysis for development teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;As our projects grow, we often face a problem: one developer builds a feature, but other developers need to spend a lot of time understanding how it works before they can use or extend it.&lt;/p&gt;

&lt;p&gt;This becomes even harder when a developer leaves the team.&lt;/p&gt;

&lt;p&gt;We wanted to build a tool that could automatically understand a codebase and make its knowledge easier to share.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;GitOcx connects to a GitHub repository and analyzes its commit history.&lt;/p&gt;

&lt;p&gt;It uses AI to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Group related commits into individual features&lt;/li&gt;
&lt;li&gt;Generate documentation for each feature&lt;/li&gt;
&lt;li&gt;Explain how features work and how they can be integrated&lt;/li&gt;
&lt;li&gt;Identify features where knowledge is highly concentrated around one developer&lt;/li&gt;
&lt;li&gt;Highlight features that may be at risk if a key developer becomes unavailable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, GitOcx can turn multiple commits into a "Payment Integration" feature, then generate documentation that helps another developer understand and use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How we built it
&lt;/h2&gt;

&lt;p&gt;We built GitOcx with React.js and FastAPI.&lt;/p&gt;

&lt;p&gt;PyGithub is used to retrieve GitHub repository data. LangChain and Gemini power the AI analysis.&lt;/p&gt;

&lt;p&gt;We use SQLite for storing project data and deployed the application using a VM and Vultr.&lt;/p&gt;

&lt;p&gt;Because AI analysis can be expensive and difficult to scale, we also added repository caching to reduce repeated AI processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges
&lt;/h2&gt;

&lt;p&gt;One of our biggest challenges was the cost of repeated AI calls.&lt;/p&gt;

&lt;p&gt;Large repositories can contain a lot of commits and information, so sending the same data to an AI model again and again is expensive.&lt;/p&gt;

&lt;p&gt;We solved part of this problem by caching analyzed repository data.&lt;/p&gt;

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

&lt;p&gt;We learned that understanding a large codebase is not only about reading code. A project also contains knowledge about how its features work and how those features connect.&lt;/p&gt;

&lt;p&gt;We also learned the importance of planning before execution, proper research, documentation, and teamwork during a 36-hour hackathon.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;We want to improve the quality of the generated documentation and explore job sequencing to help identify suitable developers who could take over a feature when a core team member is unavailable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built With
&lt;/h2&gt;

&lt;p&gt;React.js, FastAPI, SQLite, PyGithub, LangChain, Gemini, VM, Vultr&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3krmw8b63gcai0uy31ch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3krmw8b63gcai0uy31ch.png" alt=" " width="800" height="434"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4km4dbrc7r57ipsatrv8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4km4dbrc7r57ipsatrv8.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4a8pacsnq7fzxlytbns2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4a8pacsnq7fzxlytbns2.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx1z9e5uuegvc2moszlns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fx1z9e5uuegvc2moszlns.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo: &lt;a href="https://explorers-wheat.vercel.app/" rel="noopener noreferrer"&gt;https://explorers-wheat.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Dev-Saurabh-K/Explorers" rel="noopener noreferrer"&gt;https://github.com/Dev-Saurabh-K/Explorers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>documentation</category>
      <category>github</category>
    </item>
  </channel>
</rss>
