<?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: hrishu802</title>
    <description>The latest articles on DEV Community by hrishu802 (@hrishu802).</description>
    <link>https://dev.to/hrishu802</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%2F4158491%2F57750705-aac0-4d9c-8e9b-0cc3f2ce2637.png</url>
      <title>DEV Community: hrishu802</title>
      <link>https://dev.to/hrishu802</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hrishu802"/>
    <language>en</language>
    <item>
      <title>I Built AlgoBuddy for a Friend Who Was Tired of Getting Stuck on DSA Problems</title>
      <dc:creator>hrishu802</dc:creator>
      <pubDate>Mon, 05 Oct 2026 05:56:18 +0000</pubDate>
      <link>https://dev.to/hrishu802/i-built-algobuddy-for-a-friend-who-was-tired-of-getting-stuck-on-dsa-problems-3p6d</link>
      <guid>https://dev.to/hrishu802/i-built-algobuddy-for-a-friend-who-was-tired-of-getting-stuck-on-dsa-problems-3p6d</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;A friend of mine regularly practices DSA and kept running into the same problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I often get stuck deciding which DSA topic to study next and spend too much time searching for the right problems. I also struggle to understand why my solution is wrong when practising."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The problem wasn't a lack of solutions. There are already plenty of platforms that can give you the answer.&lt;/p&gt;

&lt;p&gt;The problem was getting unstuck without immediately being handed the answer.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;AlgoBuddy — Your DSA Problem-Solving Mentor&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The core idea is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Think first. Hint second. Solution last.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of acting like another answer generator, AlgoBuddy is designed to behave more like a mentor.&lt;/p&gt;

&lt;p&gt;It currently has three main modes:&lt;/p&gt;

&lt;h3&gt;
  
  
  Problem Mode
&lt;/h3&gt;

&lt;p&gt;Paste a DSA problem and work through it step by step.&lt;/p&gt;

&lt;p&gt;AlgoBuddy guides the learner through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding the constraints&lt;/li&gt;
&lt;li&gt;Thinking about a brute-force approach&lt;/li&gt;
&lt;li&gt;Identifying the underlying pattern&lt;/li&gt;
&lt;li&gt;Progressive hints&lt;/li&gt;
&lt;li&gt;Optimized approach&lt;/li&gt;
&lt;li&gt;Time and space complexity&lt;/li&gt;
&lt;li&gt;Full solution only when the learner asks for it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The hints become progressively stronger:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nudge → Hint → Strong Hint → Explain → Show Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal is to help the learner discover the solution rather than simply copy it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Concept Mode
&lt;/h3&gt;

&lt;p&gt;Concept Mode is designed for DSA revision.&lt;/p&gt;

&lt;p&gt;Instead of only defining a topic, AlgoBuddy focuses on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the concept means&lt;/li&gt;
&lt;li&gt;When to recognize it&lt;/li&gt;
&lt;li&gt;Common patterns&lt;/li&gt;
&lt;li&gt;Complexity&lt;/li&gt;
&lt;li&gt;Common mistakes&lt;/li&gt;
&lt;li&gt;Practice questions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Code Mode
&lt;/h3&gt;

&lt;p&gt;Paste your own code and ask AlgoBuddy to mentor you through it.&lt;/p&gt;

&lt;p&gt;It can help identify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Correctness issues&lt;/li&gt;
&lt;li&gt;Time complexity&lt;/li&gt;
&lt;li&gt;Space complexity&lt;/li&gt;
&lt;li&gt;Bottlenecks&lt;/li&gt;
&lt;li&gt;Optimisation opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Again, the mentor tries to guide the learner before revealing a complete solution.&lt;/p&gt;

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

&lt;p&gt;Try AlgoBuddy here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://algo-buddy-gamma.vercel.app" rel="noopener noreferrer"&gt;https://algo-buddy-gamma.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The deployed version uses real AI-powered mentoring with Google Gemma 3 12B Instruct.&lt;/p&gt;

&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%2F01fgwb4rewuwk9e4hj03.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%2F01fgwb4rewuwk9e4hj03.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
AlgoBuddy's landing page — a focused DSA mentor built around three modes: Problem Solving, Concept Learning, and Code Optimisation.&lt;/p&gt;

&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%2Fozuwujihr6855t13clzi.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%2Fozuwujihr6855t13clzi.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
Problem Mode in action — Gemma guides the learner through the problem instead of immediately revealing the solution.&lt;/p&gt;

&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%2Fximlvnxnljed4akaq6nz.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%2Fximlvnxnljed4akaq6nz.png" alt=" " width="800" height="520"&gt;&lt;/a&gt;&lt;br&gt;
Concept Mode — structured DSA revision with recognition triggers, patterns, complexity, common traps, and mentor guidance.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The complete project is open source:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hrishu802/AlgoBuddy" rel="noopener noreferrer"&gt;https://github.com/hrishu802/AlgoBuddy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;li&gt;Hugging Face Inference Providers&lt;/li&gt;
&lt;li&gt;Google Gemma 3 12B Instruct&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI integration is kept behind a server-side &lt;code&gt;/api/gemma&lt;/code&gt; endpoint so the Hugging Face token is never exposed to the browser.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The core AI model powering AlgoBuddy is &lt;strong&gt;Google Gemma 3 12B Instruct&lt;/strong&gt;, an open-weight model served through Hugging Face Inference Providers.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  ↓
React + TypeScript Frontend
  ↓
Vercel /api/gemma
  ↓
Hugging Face Inference Providers
  ↓
Google Gemma 3 12B Instruct
  ↓
Mentor Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The interesting part isn't just connecting a model to a chat interface.&lt;/p&gt;

&lt;p&gt;I wanted the AI to follow a specific teaching philosophy.&lt;/p&gt;

&lt;p&gt;AlgoBuddy uses a dedicated pedagogical system prompt built around:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Think first. Hint second. Solution last.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of immediately giving the learner a solution, the mentor is designed to ask questions, explore the constraints, and provide progressively stronger hints.&lt;/p&gt;

&lt;p&gt;For example, when a learner says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I don't know how to solve this. Don't give me the solution yet."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The mentor starts by asking about the constraints and how the learner might approach the problem manually.&lt;/p&gt;

&lt;p&gt;This makes the interaction feel more like tutoring than a traditional chatbot.&lt;/p&gt;

&lt;p&gt;I also kept the AI layer modular, so the model or inference provider can be changed without rebuilding the entire application.&lt;/p&gt;

&lt;p&gt;For this project, I chose hosted Gemma inference rather than local inference so I could deploy the complete experience quickly.&lt;/p&gt;

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

&lt;p&gt;Open-weight AI makes it possible to build applications where the model and the experience around it can be customized rather than treating a closed API as a black box.&lt;/p&gt;

&lt;p&gt;For AlgoBuddy, that matters because the goal isn't simply to generate an answer.&lt;/p&gt;

&lt;p&gt;It's to control &lt;strong&gt;how the AI teaches&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The pedagogical system, progressive hinting, problem flow, and learning experience are all designed specifically for DSA education.&lt;/p&gt;

&lt;p&gt;Using an open-weight model also gives the project room to evolve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different Gemma models can be tested&lt;/li&gt;
&lt;li&gt;Inference providers can be changed&lt;/li&gt;
&lt;li&gt;Local inference can be explored&lt;/li&gt;
&lt;li&gt;The mentoring behavior can be further customized&lt;/li&gt;
&lt;li&gt;The experience can eventually become more personalized&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For this version, &lt;strong&gt;Gemma 3 12B Instruct&lt;/strong&gt; provides the conversational capability needed for the mentoring experience while keeping the project centered around an open-weight model.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building for a Real Friend
&lt;/h2&gt;

&lt;p&gt;After building the first version, I gave it to the friend I originally built it for.&lt;/p&gt;

&lt;p&gt;Their feedback was especially useful because it wasn't just about whether the app worked.&lt;/p&gt;

&lt;p&gt;They said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The interface feels simple and focused on learning. I liked having guidance instead of jumping between multiple websites."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They also found the structured learning experience useful:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The structured recommendations and explanations helped me understand concepts faster. The topic-wise organisation made it easier to track progress."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But they also pointed out something I hadn't focused on enough:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Some buttons/features weren't immediately obvious. I wasn't always sure what to do next after finishing a problem. More onboarding would help."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is now one of the clearest areas I want to improve.&lt;/p&gt;

&lt;p&gt;They also requested:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personalised study plans&lt;/li&gt;
&lt;li&gt;Company-wise problem lists&lt;/li&gt;
&lt;li&gt;Mock interview mode&lt;/li&gt;
&lt;li&gt;Contest reminders&lt;/li&gt;
&lt;li&gt;Better personalised recommendations&lt;/li&gt;
&lt;li&gt;Continued progress tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most importantly, they said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Yes, especially if it consistently recommends the right problems and tracks my progress. I would use it alongside LeetCode rather than as a complete replacement."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That last point is important to me.&lt;/p&gt;

&lt;p&gt;AlgoBuddy isn't trying to replace platforms like LeetCode.&lt;/p&gt;

&lt;p&gt;It's meant to sit alongside them as the &lt;strong&gt;mentor that helps you understand what you're doing and why you're doing it.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;The biggest lesson from this project was that building for one person changes how you make product decisions.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What features can I add?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I started asking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What would actually help my friend get unstuck?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That led me away from building another giant DSA platform and toward a smaller, more focused experience.&lt;/p&gt;

&lt;p&gt;I also learned that adding AI to an application isn't enough.&lt;/p&gt;

&lt;p&gt;The interesting engineering challenge is designing the interaction around the model.&lt;/p&gt;

&lt;p&gt;For AlgoBuddy, that meant deciding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When should the AI ask a question?&lt;/li&gt;
&lt;li&gt;When should it provide a hint?&lt;/li&gt;
&lt;li&gt;How strong should that hint be?&lt;/li&gt;
&lt;li&gt;When should it explain a concept?&lt;/li&gt;
&lt;li&gt;When should it finally show the solution?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those decisions are what turn a general-purpose model into a more focused learning tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

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

&lt;p&gt;I'm entering &lt;strong&gt;Best Use of Gemma&lt;/strong&gt; because Google Gemma 3 12B Instruct is the core model powering AlgoBuddy's mentoring experience.&lt;/p&gt;

&lt;p&gt;Rather than using Gemma as a generic chatbot, I built a teaching workflow around it that prioritises guided problem-solving over immediately generating solutions.&lt;/p&gt;

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

&lt;p&gt;The next version of AlgoBuddy would focus heavily on personalisation.&lt;/p&gt;

&lt;p&gt;Some of the ideas from my friend's feedback include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personalised DSA study plans&lt;/li&gt;
&lt;li&gt;Smarter problem recommendations&lt;/li&gt;
&lt;li&gt;Company-wise problem sets&lt;/li&gt;
&lt;li&gt;Mock interview mode&lt;/li&gt;
&lt;li&gt;Contest reminders&lt;/li&gt;
&lt;li&gt;Better onboarding&lt;/li&gt;
&lt;li&gt;More detailed learning analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal remains the same:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't just get the answer. Learn how to find it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://algo-buddy-gamma.vercel.app" rel="noopener noreferrer"&gt;https://algo-buddy-gamma.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/hrishu802/AlgoBuddy" rel="noopener noreferrer"&gt;https://github.com/hrishu802/AlgoBuddy&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Thanks for checking out AlgoBuddy!&lt;/p&gt;

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