<?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: YASWITHA KONDLOPALLI</title>
    <description>The latest articles on DEV Community by YASWITHA KONDLOPALLI (@yashwitha088).</description>
    <link>https://dev.to/yashwitha088</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%2F4166851%2F0b54562d-a474-474b-a2ad-2ff4fbedc822.png</url>
      <title>DEV Community: YASWITHA KONDLOPALLI</title>
      <link>https://dev.to/yashwitha088</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yashwitha088"/>
    <language>en</language>
    <item>
      <title>Code Resurrector: Reviving Abandoned GitHub Repos with Gemma 4</title>
      <dc:creator>YASWITHA KONDLOPALLI</dc:creator>
      <pubDate>Sat, 31 Oct 2026 07:04:07 +0000</pubDate>
      <link>https://dev.to/yashwitha088/code-resurrector-reviving-abandoned-github-repos-with-gemma-4-2e4i</link>
      <guid>https://dev.to/yashwitha088/code-resurrector-reviving-abandoned-github-repos-with-gemma-4-2e4i</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Open source has a graveyard: tools that people loved, used for years, and then stopped maintaining. For "Ghost in the Machine," I built &lt;strong&gt;Code Resurrector&lt;/strong&gt;, an app that digs up one of those abandoned projects and asks an open-weight model how to bring it back to life.&lt;/p&gt;

&lt;p&gt;You paste the link to any public GitHub repo. The app reads its README, file list, last push date, open issues and dependency files. Then Gemma 4 writes a "revival report" that covers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what the project did&lt;/li&gt;
&lt;li&gt;why it probably stopped being maintained&lt;/li&gt;
&lt;li&gt;what is likely broken today&lt;/li&gt;
&lt;li&gt;a 5-step revival plan a beginner could follow&lt;/li&gt;
&lt;li&gt;a modern alternative or improvement idea&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I read the theme as honoring the past. Old code that once helped people deserves a proper look before it is forgotten, and the open-source angle was what drew me to this idea: a project about rescuing open-source tools should itself be built on open pieces.&lt;/p&gt;

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

&lt;p&gt;Live app: &lt;a href="https://code-resurrector-xuhqvu9h9fohuxycy9whth.streamlit.app/" rel="noopener noreferrer"&gt;https://code-resurrector-xuhqvu9h9fohuxycy9whth.streamlit.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try it with &lt;code&gt;https://github.com/mitsuhiko/pipsi&lt;/code&gt;, a pip script installer that was last pushed in 2019. Google's servers sometimes return a temporary error, so if you see one, just click the button again.&lt;/p&gt;

&lt;p&gt;Screenshots of the app and a finished report are below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&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/Yashwitha-valmiki" rel="noopener noreferrer"&gt;
        Yashwitha-valmiki
      &lt;/a&gt; / &lt;a href="https://github.com/Yashwitha-valmiki/code-resurrector" rel="noopener noreferrer"&gt;
        code-resurrector
      &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;Code Resurrector&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;Paste a public GitHub repo URL for an abandoned project. Open-weight Gemma 4
reads the README and dependency files and writes a revival report: what the
project did, why it likely died, what is probably broken, and a 5-step plan
to bring it back.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run it&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;pip install -r requirements.txt
python -m streamlit run app.py&lt;/p&gt;
&lt;p&gt;Get a free API key at aistudio.google.com and paste it in the sidebar.
Never commit your key.&lt;/p&gt;
&lt;p&gt;Built for the Hacktoberfest Open-Source AI Challenge, Week 4.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Yashwitha-valmiki/code-resurrector" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


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

&lt;p&gt;The app is a single Python file built with Streamlit. It works in four steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It calls the GitHub API and collects facts about the repo: description, language, last push date, open issues, archived status, file names, and the README and dependency files.&lt;/li&gt;
&lt;li&gt;It sends those facts to &lt;strong&gt;Gemma 4&lt;/strong&gt; (&lt;code&gt;gemma-4-26b-a4b-it&lt;/code&gt;, with &lt;code&gt;gemma-4-31b-it&lt;/code&gt; as a fallback) through the Gemini API.&lt;/li&gt;
&lt;li&gt;The prompt tells the model to use only the facts it was given and to say when something is unknown instead of inventing it.&lt;/li&gt;
&lt;li&gt;If a call fails, the app retries and switches to the other Gemma model.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'm a B.Tech student, and I built this by writing prompts to an AI assistant and running the code it gave me. I did not know how to build and deploy an app like this when the week started, so everything here was learned along the way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What went wrong:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My first model name, &lt;code&gt;gemma-3-27b-it&lt;/code&gt;, returned a 404 error. Gemma 3 had been replaced on the API, so I switched to Gemma 4.&lt;/li&gt;
&lt;li&gt;My terminal said &lt;code&gt;streamlit is not recognized&lt;/code&gt;. Running it as &lt;code&gt;python -m streamlit run app.py&lt;/code&gt; fixed it.&lt;/li&gt;
&lt;li&gt;Streamlit Cloud looked for &lt;code&gt;streamlit_app.py&lt;/code&gt; instead of my &lt;code&gt;app.py&lt;/code&gt;, so I had to correct the main file path before it would deploy.&lt;/li&gt;
&lt;li&gt;Google's API sometimes returned a temporary 500 error. I added automatic retries so visitors don't have to see it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also learned a habit that matters: one of my screenshots showed an API key, so I created a new key and stored the deployed one in Streamlit Secrets, never in GitHub.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Models can be swapped.&lt;/strong&gt; Gemma 3 disappeared from the API while I was building. Because the app only needs "a Gemma model," moving to Gemma 4 was a one-line change. A tool tied to a single closed model would have had no such option.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The weights are open.&lt;/strong&gt; My laptop has 8 GB of RAM and no GPU, so for this submission I used Gemma through a hosted API. But the same open-weight model can be downloaded and run on someone's own machine, so the idea does not depend on one company's service staying the same.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The topic fits.&lt;/strong&gt; Open-source tools die when nobody can understand or fix them anymore. An open model that reads a dead project and explains how to revive it is a good match for that problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;The moment it landed was my first real test. The pipsi repo's own README says it is no longer maintained. Gemma picked up that line, connected it to the 2019 last push, and pointed to &lt;code&gt;pipx&lt;/code&gt;, the tool that replaced it. A project that ended quietly got a short, useful obituary and a way forward.&lt;/p&gt;

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

&lt;p&gt;Best Use of Gemma&lt;/p&gt;

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