<?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: Shravan Sharma</title>
    <description>The latest articles on DEV Community by Shravan Sharma (@shhhravann).</description>
    <link>https://dev.to/shhhravann</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%2F4160208%2F7d46092a-89ee-4f59-9969-6ba3487eb199.jpg</url>
      <title>DEV Community: Shravan Sharma</title>
      <link>https://dev.to/shhhravann</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shhhravann"/>
    <language>en</language>
    <item>
      <title>Patchline 🦥 — AI-Powered GitHub Issue Triage with Local Gemma 3</title>
      <dc:creator>Shravan Sharma</dc:creator>
      <pubDate>Tue, 20 Oct 2026 14:58:45 +0000</pubDate>
      <link>https://dev.to/shhhravann/patchline-ai-powered-github-issue-triage-with-local-gemma-3-34lh</link>
      <guid>https://dev.to/shhhravann/patchline-ai-powered-github-issue-triage-with-local-gemma-3-34lh</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%2Fsr2i3d1qsljr68qc39bv.jpeg" 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%2Fsr2i3d1qsljr68qc39bv.jpeg" alt=" " width="799" 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%2Ftfg772igwjs6lge2iqe7.jpeg" 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%2Ftfg772igwjs6lge2iqe7.jpeg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;em&gt;Hacktoberfest 2026 — Week 3: Slow and Steady&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;GitHub issues are essential to open-source development, but reviewing them can become repetitive. Maintainers often need to read lengthy reports, assess urgency, identify related issues, and decide what to investigate next.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Patchline&lt;/strong&gt;, an open-source, AI-powered GitHub issue triage workspace that helps automate this initial review.&lt;/p&gt;

&lt;p&gt;Instead of manually reading every issue from scratch, developers can paste a public GitHub repository URL and get an organized, AI-assisted overview.&lt;/p&gt;
&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI-powered issue summaries:&lt;/strong&gt; Turn lengthy GitHub reports into concise, actionable summaries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Suggested priorities:&lt;/strong&gt; Classify issues by urgency with an explanation of the reasoning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatic categorization:&lt;/strong&gt; Organize issues into meaningful categories.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recommended next actions:&lt;/strong&gt; Help maintainers decide what to investigate next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Similar-issue detection:&lt;/strong&gt; Surface potentially related reports using title similarity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search and filters:&lt;/strong&gt; Quickly navigate analyzed issues by keyword, category, and priority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Issue inspector:&lt;/strong&gt; View AI-generated insights alongside the original GitHub report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command palette:&lt;/strong&gt; Navigate the workspace with keyboard shortcuts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: &lt;strong&gt;spend less time sorting issues and more time solving them.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here's Patchline in action, analyzing real GitHub issues using a locally running Gemma model.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/9JZjW5uMTZA" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/shhhravann/patchline" rel="noopener noreferrer"&gt;GitHub — Patchline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The demo shows real GitHub issue analysis, AI-generated insights, and the workspace's search and navigation features. The illustrative sample preview is used to demonstrate similar-issue detection and is separate from live model inference.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;Patchline combines a React-based developer workspace with a Python backend and locally running AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, TypeScript, Tailwind CSS, Vite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python, FastAPI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI model:&lt;/strong&gt; Google Gemma 3 4B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local inference:&lt;/strong&gt; Ollama&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repository data:&lt;/strong&gt; GitHub API&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Analysis Workflow
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;The user enters a public GitHub repository URL.&lt;/li&gt;
&lt;li&gt;The FastAPI backend fetches open issues from GitHub and excludes pull requests.&lt;/li&gt;
&lt;li&gt;Relevant issue content is sent to Gemma 3 through the local Ollama API.&lt;/li&gt;
&lt;li&gt;Gemma generates summaries, classifications, priority rationales, and suggested next actions.&lt;/li&gt;
&lt;li&gt;Patchline displays these insights in an interactive dashboard.&lt;/li&gt;
&lt;li&gt;A separate title-similarity check identifies potentially related issue reports.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Patchline is a &lt;strong&gt;read-only analysis tool&lt;/strong&gt;. It does not automatically edit GitHub issues, change labels, or perform actions on behalf of maintainers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Slow and Steady Payoff 🦥
&lt;/h2&gt;

&lt;p&gt;One of the most repetitive tasks in open-source maintenance is the first pass through incoming issues.&lt;/p&gt;

&lt;p&gt;Before deciding what to fix, maintainers need to understand each report, assess its importance, and determine what to do next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Patchline automates much of that initial review.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For example, when I analyzed an issue from the FastAPI repository, Patchline generated a concise summary, categorized the report as documentation, suggested a low priority, and recommended reviewing the roadmap items with maintainers.&lt;/p&gt;

&lt;p&gt;Rather than immediately reading the entire report, I could first review the AI-generated overview and then inspect the original issue for additional context.&lt;/p&gt;

&lt;p&gt;Patchline also includes a similar-issues view to help identify reports that might deserve investigation together.&lt;/p&gt;

&lt;p&gt;The sample preview demonstrates this capability with illustrative data, while real repository analysis uses actual GitHub issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The result is a more focused triage workflow that keeps maintainers in control.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Open Innovation Matters
&lt;/h2&gt;

&lt;p&gt;I chose &lt;strong&gt;Gemma 3 4B running locally through Ollama&lt;/strong&gt; because I wanted to build useful AI automation without requiring a paid inference API.&lt;/p&gt;

&lt;p&gt;Using an open-weight model offers several advantages.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Accessible Local AI
&lt;/h3&gt;

&lt;p&gt;After downloading the model, developers can run issue analysis on their own machines without paying for each inference request.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Developer Control
&lt;/h3&gt;

&lt;p&gt;The source code and analysis pipeline are available for inspection and modification. Developers can experiment with prompts, classifications, and workflow improvements.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Local Inference
&lt;/h3&gt;

&lt;p&gt;AI processing happens through Ollama on the developer's machine rather than through a paid hosted model API.&lt;/p&gt;

&lt;p&gt;GitHub access still requires an internet connection to retrieve live repository issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Reproducibility
&lt;/h3&gt;

&lt;p&gt;Other developers can clone Patchline, install its dependencies, download Gemma 3, and run the same workflow locally.&lt;/p&gt;

&lt;p&gt;The project is open source under the MIT License.&lt;/p&gt;

&lt;p&gt;For me, open innovation means making AI-powered developer tools easier to inspect, modify, and run independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges and Lessons Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Working with Real GitHub Data
&lt;/h3&gt;

&lt;p&gt;One challenge was understanding how GitHub's API represents issues.&lt;/p&gt;

&lt;p&gt;During testing, the API returned many open items from the FastAPI repository, but most were pull requests. After filtering those out, only one actual issue remained for analysis.&lt;/p&gt;

&lt;p&gt;This reinforced the importance of testing with real repository data rather than relying entirely on mock responses.&lt;/p&gt;

&lt;h3&gt;
  
  
  Handling Long Issue Reports
&lt;/h3&gt;

&lt;p&gt;Some GitHub issues contain extensive descriptions, logs, and technical details.&lt;/p&gt;

&lt;p&gt;I needed to keep the input sent to Gemma bounded while still making the original issue report accessible in the interface.&lt;/p&gt;

&lt;p&gt;The issue inspector now presents the AI-generated summary alongside the original report for reference.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keeping AI Recommendations Advisory
&lt;/h3&gt;

&lt;p&gt;AI-generated priorities and suggested actions are useful starting points, but they are not guaranteed to be correct.&lt;/p&gt;

&lt;p&gt;Patchline therefore keeps the original issue available and clearly communicates that maintainer review is required.&lt;/p&gt;

&lt;p&gt;The goal is to &lt;strong&gt;support human decisions, not replace them&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing and Validation
&lt;/h2&gt;

&lt;p&gt;I validated Patchline through automated checks and real integration testing.&lt;/p&gt;

&lt;p&gt;Development validation included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;26 passing backend tests&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;13 frontend DOM interaction checks&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Successful frontend production build&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real GitHub API integration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real Gemma 3 inference through local Ollama&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also manually reviewed the dashboard, issue inspector, search, filtering, and navigation flows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;There are several improvements I'd like to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semantic duplicate detection using embeddings.&lt;/li&gt;
&lt;li&gt;Configurable issue-priority rules.&lt;/li&gt;
&lt;li&gt;More flexible batch analysis.&lt;/li&gt;
&lt;li&gt;Support for additional local AI models.&lt;/li&gt;
&lt;li&gt;Better tools for maintainers working with large repositories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term goal is to make issue triage less repetitive while preserving the transparency and human oversight that open-source projects need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Hacktoberfest's &lt;strong&gt;Slow and Steady&lt;/strong&gt; theme inspired me to automate a task that developers and maintainers repeatedly perform.&lt;/p&gt;

&lt;p&gt;Patchline brings together GitHub issue retrieval, local Gemma inference, and a focused developer workspace to make initial issue triage more efficient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let AI handle the repetitive first pass. Let developers focus on building.&lt;/strong&gt; 🦥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/shhhravann/patchline" rel="noopener noreferrer"&gt;https://github.com/shhhravann/patchline&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo Video:&lt;/strong&gt; &lt;a href="https://youtube.com/shorts/9JZjW5uMTZA" rel="noopener noreferrer"&gt;https://youtube.com/shorts/9JZjW5uMTZA&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built for the Hacktoberfest 2026 Open-Source AI Challenge — Week 3: Slow and Steady.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Hello DEV! 👋 Starting my Hacktoberfest journey 🚀</title>
      <dc:creator>Shravan Sharma</dc:creator>
      <pubDate>Sat, 03 Oct 2026 17:23:14 +0000</pubDate>
      <link>https://dev.to/shhhravann/hello-dev-starting-my-hacktoberfest-journey-5f5b</link>
      <guid>https://dev.to/shhhravann/hello-dev-starting-my-hacktoberfest-journey-5f5b</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;br&gt;&lt;br&gt;
I'm &lt;strong&gt;Shravan&lt;/strong&gt;, a CSE(Data Science) student who loves building things and figuring out how they work.&lt;br&gt;
I've been exploring web development, DSA, AI, and lately I've been wanting to get more involved with open source.&lt;br&gt;
So, Hacktoberfest 2026 feels like the perfect excuse to finally jump in. 🎃&lt;br&gt;
I'm hoping to learn from the community, make some meaningful contributions, build a few things, and hopefully meet some awesome developers along the way.&lt;br&gt;
First open-source journey starts today. Let's see where it goes. 🚀&lt;br&gt;
_Happy Hacktoberfest everyone! _🎃&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
