<?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: Shivam Mavi</title>
    <description>The latest articles on DEV Community by Shivam Mavi (@shivammraj).</description>
    <link>https://dev.to/shivammraj</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%2F4154731%2Fc1f962e7-799f-42a5-8136-ec3f92bedf44.jpg</url>
      <title>DEV Community: Shivam Mavi</title>
      <link>https://dev.to/shivammraj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivammraj"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Shivam Mavi</dc:creator>
      <pubDate>Sun, 04 Oct 2026 08:26:21 +0000</pubDate>
      <link>https://dev.to/shivammraj/-23b1</link>
      <guid>https://dev.to/shivammraj/-23b1</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak" class="crayons-story__hidden-navigation-link"&gt;CodeMate: I Built a Coding Mentor for My Friend Who Keeps Getting Stuck&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/shivammraj" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F4154731%2Fc1f962e7-799f-42a5-8136-ec3f92bedf44.jpg" alt="shivammraj profile" class="crayons-avatar__image" width="460" height="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/shivammraj" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Shivam Mavi
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Shivam Mavi
                
                
              
              &lt;div id="story-author-preview-content-4794843" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/shivammraj" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F4154731%2Fc1f962e7-799f-42a5-8136-ec3f92bedf44.jpg" class="crayons-avatar__image" alt="" width="460" height="460"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Shivam Mavi&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 4&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak" id="article-link-4794843"&gt;
          CodeMate: I Built a Coding Mentor for My Friend Who Keeps Getting Stuck
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/weekendchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;weekendchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/hf26challenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;hf26challenge&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ai</category>
      <category>coding</category>
      <category>learning</category>
      <category>programming</category>
    </item>
    <item>
      <title>CodeMate: I Built a Coding Mentor for My Friend Who Keeps Getting Stuck</title>
      <dc:creator>Shivam Mavi</dc:creator>
      <pubDate>Sun, 04 Oct 2026 08:24:00 +0000</pubDate>
      <link>https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak</link>
      <guid>https://dev.to/shivammraj/codemate-i-built-a-coding-mentor-for-my-friend-who-keeps-getting-stuck-3nak</guid>
      <description>&lt;p&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;My friend is learning C++ and DSA, but there was a recurring problem: whenever he got stuck on a problem, the easiest solution was to ask an AI for the answer.&lt;/p&gt;

&lt;p&gt;That solved the problem once, but it didn't necessarily teach him how to solve the next one.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;CodeMate&lt;/strong&gt;, a local AI coding mentor designed around one simple rule:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't give me the answer. Help me figure it out.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;CodeMate can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Give progressive hints instead of immediately revealing solutions&lt;/li&gt;
&lt;li&gt;Explain C++ code in beginner-friendly language&lt;/li&gt;
&lt;li&gt;Identify bugs and explain why they happen&lt;/li&gt;
&lt;li&gt;Analyze a student's approach&lt;/li&gt;
&lt;li&gt;Generate practice questions around weak concepts&lt;/li&gt;
&lt;li&gt;Adapt the difficulty based on previous attempts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn't to replace practice platforms. It's to create a learning layer between &lt;strong&gt;"I'm stuck"&lt;/strong&gt; and &lt;strong&gt;"I understand it now."&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;[&lt;a href="https://shivammraj.github.io/CodeMate/" rel="noopener noreferrer"&gt;https://shivammraj.github.io/CodeMate/&lt;/a&gt;]&lt;/p&gt;

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

&lt;p&gt;[&lt;a href="https://github.com/shivammraj/CodeMate" rel="noopener noreferrer"&gt;https://github.com/shivammraj/CodeMate&lt;/a&gt;]&lt;/p&gt;

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

&lt;p&gt;CodeMate is built around a locally running open-weight AI model rather than a proprietary AI API.&lt;/p&gt;

&lt;p&gt;The architecture is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React Frontend
      ↓
FastAPI Backend
      ↓
CodeMate Learning Engine
      ↓
Ollama
      ↓
Open-weight LLM
      ↓
Personalized response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI has different modes for different situations:&lt;/p&gt;

&lt;h3&gt;
  
  
  Hint Mode
&lt;/h3&gt;

&lt;p&gt;The model is instructed not to immediately reveal the complete solution. It gives one conceptual hint and waits for the learner to try again.&lt;/p&gt;

&lt;h3&gt;
  
  
  Debug Mode
&lt;/h3&gt;

&lt;p&gt;Instead of rewriting the entire program, it identifies the error, explains the cause, and suggests the smallest useful correction.&lt;/p&gt;

&lt;h3&gt;
  
  
  Explain Mode
&lt;/h3&gt;

&lt;p&gt;It breaks code into its purpose, variables, logic, example execution, and complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practice Mode
&lt;/h3&gt;

&lt;p&gt;It generates progressively harder problems based on concepts the learner has struggled with.&lt;/p&gt;

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

&lt;p&gt;For this project, using an open model wasn't just a technical choice.&lt;/p&gt;

&lt;p&gt;CodeMate is designed around a person's code, mistakes, learning history, and study material. I wanted the core AI experience to be capable of running locally rather than requiring every interaction to be sent to a proprietary cloud API.&lt;/p&gt;

&lt;p&gt;Running an open-weight model locally gives CodeMate several important properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; code and learning data can remain on the user's device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline capability:&lt;/strong&gt; the core AI can work without an internet connection after the model is installed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model freedom:&lt;/strong&gt; the underlying model can be replaced without rebuilding the entire product.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Behavioral control:&lt;/strong&gt; the tutoring behavior can be changed through our own prompts and application logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No per-request API cost:&lt;/strong&gt; local inference doesn't require paying a proprietary provider for every question.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open innovation made the AI itself something I could inspect, adapt, and build around rather than simply consume through an API.&lt;/p&gt;

&lt;h2&gt;
  
  
  What My Friend Thought
&lt;/h2&gt;

&lt;p&gt;After the first version was ready, I gave it to my friend and asked them to use it without explaining how it worked.&lt;/p&gt;

&lt;p&gt;Their feedback was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"[Honestly, CodeMate was helpful because it didn't immediately give me the solution. The hints made me think about the problem myself, which helped me understand the logic better.&lt;/p&gt;

&lt;p&gt;I especially liked the Debug Mode because it explained what was wrong with my code instead of just giving me the corrected code.&lt;/p&gt;

&lt;p&gt;One thing I would improve is the hint system. Sometimes the first hint was a little too vague, so having a “Give me a stronger hint” option would make it easier when I'm completely stuck.]"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That feedback changed &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;[Overall, I would actually use it while practicing DSA because it feels more like having someone guide me rather than just giving me the answer.].&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;The biggest lesson wasn't about getting an AI model to answer coding questions.&lt;/p&gt;

&lt;p&gt;It was about building for a specific person.&lt;/p&gt;

&lt;p&gt;A generic coding assistant tries to help everyone. CodeMate started with one person, one problem, and one question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What would actually help my friend learn instead of simply finish the problem?&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;If I continue developing CodeMate, I'd like to add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better long-term learning profiles&lt;/li&gt;
&lt;li&gt;More accurate misconception detection&lt;/li&gt;
&lt;li&gt;Voice-based tutoring&lt;/li&gt;
&lt;li&gt;More efficient models for low-end laptops&lt;/li&gt;
&lt;li&gt;Personalized revision plans&lt;/li&gt;
&lt;li&gt;Support for additional programming languages&lt;/li&gt;
&lt;/ul&gt;

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