<?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: Sanskar </title>
    <description>The latest articles on DEV Community by Sanskar  (@samkeb19).</description>
    <link>https://dev.to/samkeb19</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: Sanskar </title>
      <link>https://dev.to/samkeb19</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samkeb19"/>
    <language>en</language>
    <item>
      <title>Building an AI Code Visualizer for Hacktoberfest 2026</title>
      <dc:creator>Sanskar </dc:creator>
      <pubDate>Fri, 09 Oct 2026 09:28:06 +0000</pubDate>
      <link>https://dev.to/samkeb19/building-an-ai-code-visualizer-for-hacktoberfest-2026-3fkm</link>
      <guid>https://dev.to/samkeb19/building-an-ai-code-visualizer-for-hacktoberfest-2026-3fkm</guid>
      <description>&lt;p&gt;For Hacktoberfest 2026, I built a "Code to Concept Visualizer"—a Python desktop application using Pygame that breaks down complex code into interactive visual logic steps.&lt;/p&gt;

&lt;p&gt;How I Used Open-Source AI&lt;/p&gt;

&lt;p&gt;Local Gemma: I integrated Google's open-weight Gemma model locally using Ollama. This keeps the application entirely offline, protecting user code privacy while generating accurate logic breakdowns.&lt;/p&gt;

&lt;p&gt;Gemini API: I integrated the Gemini API to act as the reasoning engine, which analyzes the user's code and passes structured steps back to Pygame for rendering.&lt;/p&gt;

&lt;p&gt;The Code&lt;br&gt;
You can find my complete project repository here:&lt;br&gt;
&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/sanskarb19" rel="noopener noreferrer"&gt;
        sanskarb19
      &lt;/a&gt; / &lt;a href="https://github.com/sanskarb19/code_to_concept-visualizer" rel="noopener noreferrer"&gt;
        code_to_concept-visualizer
      &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;Python Code Visualizer&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A local browser-based Python learning tool. Write Python in the editor, run it
through the existing subprocess tracer, then inspect the captured events
variables, call frames, output, and errors one step at a time.&lt;/p&gt;

&lt;p&gt;The trace is the source of truth. Gemini is an optional explanation service and
does not execute or determine the result of a program.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Run locally&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pip install -r requirements.txt
python main.py&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;a href="http://localhost:8000" rel="nofollow noopener noreferrer"&gt;http://localhost:8000&lt;/a&gt;. The browser editor uses Monaco when its CDN is
reachable and falls back to a keyboard-editable editor if it is not.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Optional Gemini explanations&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Set &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; to enable explanations. On Replit, add it through Replit
Secrets; when running locally, copy &lt;code&gt;.env.example&lt;/code&gt; to &lt;code&gt;.env&lt;/code&gt; and set it there
The key is read by the Python backend and is never sent to the browser. Source
code and the selected step's variable snapshots are sent only when you request
an explanation;…&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/sanskarb19/code_to_concept-visualizer" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/sanskarb19/code_to_concept-visualizer" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://github.com/sanskarb19/code_to_concept-visualizer" rel="noopener noreferrer"&gt;https://github.com/sanskarb19/code_to_concept-visualizer&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Running the Project

&lt;p&gt;Clone the repository.&lt;/p&gt;

&lt;p&gt;Install Pygame.&lt;/p&gt;

&lt;p&gt;(Add one step about setting up the AI, e.g., "Run ollama run gemma:2b" or "Add your API key to the .env file")&lt;/p&gt;

&lt;p&gt;Run main.py!&lt;/p&gt;

&lt;p&gt;My Hacktoberfest Experience&lt;br&gt;
I started this project after attending the local Hacktoberfest event at AITD Navi Mumbai. It was a great push to combine my Python skills with AI integrations, and I am excited to keep building in the open-source space.&lt;/p&gt;

</description>
      <category>mlhhacks</category>
      <category>mlh</category>
      <category>hacktoberfest</category>
    </item>
  </channel>
</rss>
