<?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: Ahmad Ibni shafi</title>
    <description>The latest articles on DEV Community by Ahmad Ibni shafi (@ahmad_ibnishafi_17cc4316).</description>
    <link>https://dev.to/ahmad_ibnishafi_17cc4316</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%2F4219635%2F26608410-fe0e-4a51-bff4-ae4d00e8f529.png</url>
      <title>DEV Community: Ahmad Ibni shafi</title>
      <link>https://dev.to/ahmad_ibnishafi_17cc4316</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahmad_ibnishafi_17cc4316"/>
    <language>en</language>
    <item>
      <title>From GitHub Discussions to Engineering Knowledge: Building an AI-Powered Decision Intelligence Platform</title>
      <dc:creator>Ahmad Ibni shafi</dc:creator>
      <pubDate>Sun, 01 Nov 2026 06:24:08 +0000</pubDate>
      <link>https://dev.to/ahmad_ibnishafi_17cc4316/from-github-discussions-to-engineering-knowledge-building-an-ai-powered-decision-intelligence-5ek8</link>
      <guid>https://dev.to/ahmad_ibnishafi_17cc4316/from-github-discussions-to-engineering-knowledge-building-an-ai-powered-decision-intelligence-5ek8</guid>
      <description>&lt;h1&gt;
  
  
  The Code Wasn't the Hardest Part. Understanding Why It Was Written Was.
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Our Hacktoberfest Hack Day journey: exploring how AI can help developers recover forgotten decisions from open-source projects.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine joining an open-source project with thousands of lines of code.&lt;/p&gt;

&lt;p&gt;You explore the codebase, understand its structure and find something you think could be improved. You suggest replacing the existing database with another technology.&lt;/p&gt;

&lt;p&gt;Then someone tells you:&lt;/p&gt;

&lt;p&gt;"We already discussed this two years ago. We rejected that approach."&lt;/p&gt;

&lt;p&gt;You ask why.&lt;/p&gt;

&lt;p&gt;Nobody remembers the complete discussion. The original contributors may have left, and the reasoning is buried somewhere inside hundreds of GitHub comments.&lt;/p&gt;

&lt;p&gt;You can still see the code. But you cannot easily understand the thinking behind it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And that is the problem we wanted to explore.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The hidden problem in open source
&lt;/h2&gt;

&lt;p&gt;Open-source projects are built through collaboration. Developers discuss features, review pull requests, report bugs and debate architectural decisions.&lt;/p&gt;

&lt;p&gt;But something important often gets lost in this process: the reasoning behind decisions.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Why did the team choose PostgreSQL instead of MongoDB?&lt;/li&gt;
&lt;li&gt;Why was a particular API design rejected?&lt;/li&gt;
&lt;li&gt;Why did maintainers decide against a proposed feature?&lt;/li&gt;
&lt;li&gt;Was an alternative already tested and found unsuitable?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These answers may exist in old GitHub Issues, Pull Requests and discussion threads, but finding them can take a lot of time.&lt;/p&gt;

&lt;p&gt;This creates a knowledge gap for new contributors.&lt;/p&gt;

&lt;p&gt;They may repeat old discussions, suggest approaches that were already rejected, or make changes without understanding the project's history.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem isn't that the information never existed. The problem is that it is difficult to recover when someone needs it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Our idea: Recovering the knowledge behind the code
&lt;/h2&gt;

&lt;p&gt;For Hacktoberfest Hack Day at Rishihood University, Sonipat, we explored Problem 6: Open Source Decision Intelligence and Knowledge Recovery.&lt;/p&gt;

&lt;p&gt;Our goal is to design an AI-powered platform that helps developers discover the technical decisions hidden inside public project discussions.&lt;/p&gt;

&lt;p&gt;Instead of simply summarizing GitHub conversations, we want the system to identify:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The decision:&lt;/strong&gt; What did the team decide?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The reasoning:&lt;/strong&gt; Why did they make that decision?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rejected alternatives:&lt;/strong&gt; What other approaches were considered, and why were they rejected?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The status:&lt;/strong&gt; Was the decision accepted, rejected or still under discussion?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The evidence:&lt;/strong&gt; Where did this decision originally come from?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The last point is especially important. We don't want developers to blindly trust an AI-generated answer.&lt;/p&gt;

&lt;p&gt;Every recovered decision should point back to its original discussion so that developers can verify it themselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  How would it work?
&lt;/h2&gt;

&lt;p&gt;Let's understand our proposed workflow with a simple example.&lt;/p&gt;

&lt;p&gt;Suppose a developer wants to understand why a project uses PostgreSQL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Enter a GitHub repository&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The developer provides the URL of a public GitHub repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Collect project discussions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The platform retrieves relevant public Issues, Pull Requests and comments using the GitHub API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Extract technical decisions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An AI model analyzes the discussions and tries to identify decisions, their reasoning, alternatives and their status.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Store structured knowledge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of saving only a long summary, the system stores each decision in a structured format, along with its original discussion link.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Search and recover&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A developer can ask:&lt;/p&gt;

&lt;p&gt;"Why did this project choose PostgreSQL?"&lt;/p&gt;

&lt;p&gt;The platform should return the recovered decision, explain the reasoning and provide the original GitHub discussion.&lt;/p&gt;

&lt;p&gt;This is the experience we want to build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not just use a normal AI chatbot?
&lt;/h2&gt;

&lt;p&gt;This was an important distinction in our thinking.&lt;/p&gt;

&lt;p&gt;A general AI chatbot can explain PostgreSQL, MongoDB or database architecture. But that doesn't mean it knows why a particular open-source project made its decision.&lt;/p&gt;

&lt;p&gt;Our platform has a different responsibility.&lt;/p&gt;

&lt;p&gt;It should recover knowledge from the project's own history rather than generate a generic technical answer.&lt;/p&gt;

&lt;p&gt;For us, a useful answer isn't just a convincing explanation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A useful answer is one that can be traced back to evidence.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The technical thinking behind our approach
&lt;/h2&gt;

&lt;p&gt;We are approaching this as a combination of full-stack development, information retrieval and AI.&lt;/p&gt;

&lt;p&gt;Our planned architecture has four main parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub integration:&lt;/strong&gt; Collect public project discussions and their references.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI decision extraction:&lt;/strong&gt; Analyze conversations and identify decisions, reasons and rejected alternatives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge storage:&lt;/strong&gt; Save extracted information in a structured format.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search interface:&lt;/strong&gt; Allow developers to search and explore recovered decisions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also recognize that extracting decisions isn't as simple as summarizing text.&lt;/p&gt;

&lt;p&gt;A discussion may contain several opinions before reaching a final conclusion. A suggestion might be rejected in one comment but accepted later in the same conversation.&lt;/p&gt;

&lt;p&gt;The system must distinguish between a suggestion, a discussion and an actual decision.&lt;/p&gt;

&lt;p&gt;It must also avoid inventing reasons when the original discussion doesn't provide enough evidence.&lt;/p&gt;

&lt;p&gt;These are challenges we want to address rather than hide.&lt;/p&gt;

&lt;h2&gt;
  
  
  What would make this useful?
&lt;/h2&gt;

&lt;p&gt;Imagine a new contributor opening a Pull Request that changes an important part of a codebase.&lt;/p&gt;

&lt;p&gt;What if the project could surface relevant historical decisions associated with the files being changed?&lt;/p&gt;

&lt;p&gt;The contributor could understand previous discussions before proposing a change.&lt;/p&gt;

&lt;p&gt;This could help teams:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Avoid repeating previously rejected approaches.&lt;/li&gt;
&lt;li&gt;Understand architectural decisions.&lt;/li&gt;
&lt;li&gt;Onboard new contributors faster.&lt;/li&gt;
&lt;li&gt;Preserve knowledge when experienced developers leave.&lt;/li&gt;
&lt;li&gt;Make changes with better awareness of project history.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Our longer-term direction is to connect recovered decisions with relevant source code and surface that knowledge when future Pull Requests modify related files.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we want to learn from this Hack Day
&lt;/h2&gt;

&lt;p&gt;This challenge is not just about integrating an AI API into a web application.&lt;/p&gt;

&lt;p&gt;It pushes us to think about a deeper engineering problem: how do we turn unstructured conversations into reliable, searchable and verifiable knowledge?&lt;/p&gt;

&lt;p&gt;We want to explore how AI can identify meaningful decisions, how to preserve their original context, and how to make the results useful to actual developers.&lt;/p&gt;

&lt;p&gt;We also understand that the system will not always find a clear answer. Sometimes a discussion has no final decision. Sometimes the reasoning is incomplete.&lt;/p&gt;

&lt;p&gt;In those situations, showing uncertainty is better than pretending to know.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking ahead
&lt;/h2&gt;

&lt;p&gt;Our vision is simple:&lt;/p&gt;

&lt;p&gt;When a developer asks, "Why was this done this way?", they shouldn't have to spend hours searching through years of project discussions.&lt;/p&gt;

&lt;p&gt;They should be able to discover the decision, understand its reasoning and verify it from the original source.&lt;/p&gt;

&lt;p&gt;Because software isn't just a collection of files and functions.&lt;/p&gt;

&lt;p&gt;It is also a collection of decisions made by people over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code tells us what a project does. Its history helps us understand why.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And we believe that recovering that history can make open source easier to understand, maintain and contribute to.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built as a Hacktoberfest Hack Day project exploration at Rishihood University, Sonipat.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;AI assistance was used to help organize and refine this article. The project concept and implementation details should reflect our team's actual work and decisions.&lt;/em&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%2Frvmm66ua1hu615sp0w03.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%2Frvmm66ua1hu615sp0w03.png" alt=" " width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>github</category>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
