<?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 TidyByte to Make Document Organization Less Tedious</title>
      <dc:creator>hrishu802</dc:creator>
      <pubDate>Fri, 23 Oct 2026 21:49:41 +0000</pubDate>
      <link>https://dev.to/hrishu802/i-built-tidybyte-to-make-document-organization-less-tedious-463a</link>
      <guid>https://dev.to/hrishu802/i-built-tidybyte-to-make-document-organization-less-tedious-463a</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Have you ever downloaded a document, saved it with a confusing filename, and promised yourself you'd organize it later?&lt;/p&gt;

&lt;p&gt;That small task can turn into a pile of forgotten files. I built &lt;strong&gt;TidyByte&lt;/strong&gt; to make document organization less tedious, with reviewable suggestions and a one-click ZIP export.&lt;/p&gt;

&lt;p&gt;The idea is simple: let software handle repetitive housekeeping while keeping the user in control.&lt;/p&gt;

&lt;p&gt;TidyByte is a privacy-conscious document organizer that lets users upload TXT and PDF files, review suggested filenames and categories, edit suggestions, approve the results, and export everything into a neatly structured ZIP archive.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it can do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Upload TXT and PDF documents in batches.&lt;/li&gt;
&lt;li&gt;Suggest filenames, categories, and descriptions.&lt;/li&gt;
&lt;li&gt;Review, edit, and approve suggestions before exporting.&lt;/li&gt;
&lt;li&gt;Search and filter documents.&lt;/li&gt;
&lt;li&gt;Export approved files into a ZIP containing category folders, original files, and a README.&lt;/li&gt;
&lt;li&gt;Download the generated archive again when needed.&lt;/li&gt;
&lt;li&gt;Work without an external AI API key in the current demo.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Live application:&lt;/strong&gt; &lt;a href="https://tidybyte.vercel.app/" rel="noopener noreferrer"&gt;TidyByte on Vercel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/hrishu802/TidyByte" rel="noopener noreferrer"&gt;TidyByte on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tested the deployed workflow with text files and PDFs, including a PDF larger than 30 MB. I also verified that the generated ZIP archive contained valid files and the expected folder structure.&lt;/p&gt;

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

&lt;p&gt;TidyByte is built with &lt;strong&gt;React, Vite, and TypeScript&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The repository includes the source code, tests, and setup instructions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hrishu802/TidyByte" rel="noopener noreferrer"&gt;Explore TidyByte on GitHub&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I wanted to build something useful without creating another application that depends on a paid API or sends every document to a third-party service.&lt;/p&gt;

&lt;p&gt;I used Antigravity as my development environment to build the application, refine the interface, troubleshoot upload and export behavior, and validate the project. I then pushed the code to GitHub and deployed the frontend using Vercel.&lt;/p&gt;

&lt;p&gt;The current version uses &lt;strong&gt;deterministic, rule-based suggestions&lt;/strong&gt;, including filename heuristics. It does not yet run an open-weight language model. The current demo focuses on delivering a working document-management workflow, while model-powered classification and descriptions remain future work.&lt;/p&gt;

&lt;p&gt;I also paid attention to practical details, such as handling duplicate uploads, validating file sizes, preserving access to original files, and making ZIP exports easy to retrieve again.&lt;/p&gt;

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

&lt;p&gt;For a tool that handles personal documents, privacy should be part of the design rather than an afterthought.&lt;/p&gt;

&lt;p&gt;Open-weight models could eventually let TidyByte analyze documents without relying on a closed AI API. Depending on the model and deployment setup, inference could run locally or through a hosted provider. Open implementations would also give developers more freedom to change models, inspect behavior, and avoid being locked into a single provider.&lt;/p&gt;

&lt;p&gt;Cost matters too. I want to explore an approach that remains usable without per-request inference fees, rather than building a feature that becomes expensive as usage grows.&lt;/p&gt;

&lt;p&gt;For now, I have deliberately kept the demo independent of an AI service. My next step is to integrate a suitable open-weight model through a provider or deployment option that fits a strict ₹0 inference budget, while being transparent about any data sent to a hosted service.&lt;/p&gt;

&lt;p&gt;Open innovation matters because it gives developers the freedom to experiment, adapt tools to real needs, and make thoughtful choices about cost and privacy.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I used Antigravity to develop and refine TidyByte, test its functionality, and work through implementation issues.&lt;/p&gt;

&lt;p&gt;I haven't attached a DevRelay session link. You can explore the implementation and project setup through the &lt;a href="https://github.com/hrishu802/TidyByte" rel="noopener noreferrer"&gt;public GitHub repository&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;My next goals are to integrate an open-weight model for more useful document classification and descriptions, improve handling of scanned PDFs, and keep the review-and-approve workflow under the user's control.&lt;/p&gt;

&lt;p&gt;TidyByte is a small step toward making everyday digital housekeeping less tedious—one document at a time.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Built AlgoBuddy: An Open-Weight AI DSA Mentor That Teaches, Not Just Solves</title>
      <dc:creator>hrishu802</dc:creator>
      <pubDate>Mon, 19 Oct 2026 05:00:47 +0000</pubDate>
      <link>https://dev.to/hrishu802/i-built-algobuddy-an-open-weight-ai-dsa-mentor-that-teaches-not-just-solves-5fjn</link>
      <guid>https://dev.to/hrishu802/i-built-algobuddy-an-open-weight-ai-dsa-mentor-that-teaches-not-just-solves-5fjn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is my submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge — Week 2: Side Hustle&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;AlgoBuddy&lt;/strong&gt;, a personal Data Structures and Algorithms (DSA) mentor designed to help students understand how to solve problems instead of simply copying solutions.&lt;/p&gt;

&lt;p&gt;The idea came from a familiar frustration: getting stuck on a DSA problem, looking at the solution, understanding it for a moment, and then getting stuck again on the next problem.&lt;/p&gt;

&lt;p&gt;I wanted to build something that encourages learners to think independently.&lt;/p&gt;

&lt;p&gt;AlgoBuddy follows one simple philosophy:&lt;/p&gt;

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

&lt;p&gt;It offers three learning modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Problem Mode:&lt;/strong&gt; Work through a DSA problem step by step, from understanding the constraints to exploring an approach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concept Mode:&lt;/strong&gt; Learn concepts and understand the reasoning behind them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code Mode:&lt;/strong&gt; Discuss code, review approaches, and understand mistakes instead of blindly accepting corrected code.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;🚀 &lt;strong&gt;Live Demo:&lt;/strong&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 Repository:&lt;/strong&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;You can explore the application and try its different learning modes.&lt;/p&gt;

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

&lt;p&gt;AlgoBuddy is open source, and the source code is available on GitHub:&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 uses React, TypeScript, and Vite for the frontend, with a server-side API layer for AI inference.&lt;/p&gt;

&lt;p&gt;The AI provider is configurable, allowing the application to work with hosted inference rather than requiring every user to run a large language model locally.&lt;/p&gt;

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

&lt;p&gt;I built AlgoBuddy using React, TypeScript, Vite, and a server-side API architecture.&lt;/p&gt;

&lt;p&gt;One important part was designing an AI service abstraction so that the learning experience would not be tightly coupled to a single model provider.&lt;/p&gt;

&lt;p&gt;For hosted inference, I integrated &lt;strong&gt;OpenAI's open-weight GPT-OSS-20B model through Groq Cloud&lt;/strong&gt;. I also preserved Hugging Face support and a deterministic mock provider for development and fallback scenarios.&lt;/p&gt;

&lt;p&gt;The integration keeps API credentials on the server instead of exposing them in the frontend bundle.&lt;/p&gt;

&lt;p&gt;I also worked on error handling, persistent settings, testing, and deployment so the project could run as a real web application rather than just a local prototype.&lt;/p&gt;

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

&lt;p&gt;Open innovation makes powerful AI models more accessible to independent developers and students.&lt;/p&gt;

&lt;p&gt;I wanted to experiment with an AI-powered learning tool without needing to train a model from scratch or operate expensive GPU infrastructure.&lt;/p&gt;

&lt;p&gt;Using an open-weight model through a hosted inference provider made it possible to focus on what matters most for AlgoBuddy: the learning experience, the interaction design, and the teaching approach.&lt;/p&gt;

&lt;p&gt;It also gave me the flexibility to experiment with different providers without rebuilding the entire application.&lt;/p&gt;

&lt;p&gt;For me, open source is not just about publishing code. It is about giving other developers something they can inspect, learn from, adapt, and improve.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I used an AI-assisted development workflow to build and improve AlgoBuddy, from working on the AI integration to testing and deployment.&lt;/p&gt;

&lt;p&gt;Rather than treating AI as a one-shot code generator, I used an iterative process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inspect the existing code and architecture.&lt;/li&gt;
&lt;li&gt;Implement changes while preserving the application's learning philosophy.&lt;/li&gt;
&lt;li&gt;Run TypeScript checks, tests, linting, and production builds.&lt;/li&gt;
&lt;li&gt;Investigate integration failures and fix their underlying causes.&lt;/li&gt;
&lt;li&gt;Verify the deployed application with real HTTP requests.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One lesson I learned was that a successful build does not necessarily mean a working application. My Groq integration initially encountered deprecated model IDs, so I updated the model configuration, added migration handling for saved settings, and verified that live inference worked in production.&lt;/p&gt;

&lt;p&gt;That process reinforced the importance of testing the entire path from the frontend to the actual AI provider.&lt;/p&gt;

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

&lt;p&gt;The biggest challenge was not simply connecting an AI model. It was making the integration reliable without losing the original purpose of the project.&lt;/p&gt;

&lt;p&gt;I learned the importance of separating the AI service from the user experience, keeping credentials server-side, handling provider errors clearly, and testing changes before deploying them.&lt;/p&gt;

&lt;p&gt;I also learned that an AI learning tool should not optimize only for giving the fastest answer. It should help the learner understand why an approach works.&lt;/p&gt;

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

&lt;p&gt;I want to keep improving AlgoBuddy's teaching quality, make its hints more adaptive, and help learners build stronger problem-solving habits over time.&lt;/p&gt;

&lt;p&gt;I'd also love feedback from students and developers who use AI tools to learn DSA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you try AlgoBuddy, I'd love to know: would you prefer an AI mentor that gives you the answer immediately, or one that helps you discover the answer yourself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks for checking out my project! ❤️&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>I Built Sproutly for My Mom, Who Loves Gardening 🌱</title>
      <dc:creator>hrishu802</dc:creator>
      <pubDate>Mon, 12 Oct 2026 03:03:16 +0000</pubDate>
      <link>https://dev.to/hrishu802/i-built-sproutly-for-my-mom-who-loves-gardening-59d8</link>
      <guid>https://dev.to/hrishu802/i-built-sproutly-for-my-mom-who-loves-gardening-59d8</guid>
      <description>&lt;p&gt;My mom loves gardening. She spends time taking care of her plants, but keeping a garden healthy means dealing with many questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why are the leaves turning yellow?&lt;/li&gt;
&lt;li&gt;What should I look for when checking for pests?&lt;/li&gt;
&lt;li&gt;How often should I water a particular plant?&lt;/li&gt;
&lt;li&gt;What care does a plant need as the seasons change?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to build something that makes finding answers easier and lets her spend more time caring for her garden.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Sproutly — Your AI Gardening Companion.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The idea is simple: use AI to make gardening guidance more accessible, practical, and personal.&lt;/p&gt;

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

&lt;p&gt;Sproutly is a gardening companion designed to bring several plant-care activities together in one place.&lt;/p&gt;

&lt;p&gt;The application includes a collection of gardening features, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Garden Coach:&lt;/strong&gt; Ask questions about watering, pruning, pest control, and seasonal plant care.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;My Garden:&lt;/strong&gt; Keep your garden and connected plants organised.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plant Doctor:&lt;/strong&gt; A dedicated place for plant-health questions and diagnosis workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Missions:&lt;/strong&gt; Turn gardening into manageable activities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Journal:&lt;/strong&gt; Keep track of your gardening journey.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regional context:&lt;/strong&gt; The interface is configured for North India (Subtropical), making regional context part of the experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than building another generic chatbot, I wanted Sproutly to feel like a companion for someone who already enjoys gardening and wants help making better decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Live Demo
&lt;/h2&gt;

&lt;p&gt;Try Sproutly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://sproutly-zeta.vercel.app" rel="noopener noreferrer"&gt;Open Sproutly&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The frontend is deployed on Vercel, and the backend is hosted on Render.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: The live application is deployed, but AI-generated responses are temporarily unavailable because the current inference provider has exhausted its credits. The AI integration is implemented, and I am exploring sustainable alternatives for hosting inference.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💻 Source Code
&lt;/h2&gt;

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

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

&lt;p&gt;I built the application using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;Hugging Face Inference Providers&lt;/li&gt;
&lt;li&gt;An open-weight Meta Llama model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The frontend and backend are deployed separately, allowing the application interface and AI services to evolve independently.&lt;/p&gt;

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

&lt;p&gt;I wanted to build more than a simple question-and-answer interface. The goal was to create an application with dedicated gardening workflows.&lt;/p&gt;

&lt;p&gt;The architecture follows a straightforward flow:&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
  ↓
Express Backend on Render
  ↓
AI Inference Provider
  ↓
Gardening Guidance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The frontend handles the user experience, while the backend manages API requests and communication with the AI inference service.&lt;/p&gt;

&lt;p&gt;Keeping AI requests on the server also means the inference API key does not need to be exposed in the browser.&lt;/p&gt;

&lt;p&gt;One of the practical lessons from deployment was that getting an AI application working locally is only part of the job. Production routing, CORS configuration, environment variables, provider limits, and error handling all matter.&lt;/p&gt;

&lt;p&gt;During deployment, I had to troubleshoot a CORS preflight failure between Vercel and Render. After correcting the production configuration, requests reached the AI endpoint successfully. I then discovered that the inference provider had run out of credits.&lt;/p&gt;

&lt;p&gt;That was a useful reminder: a successful deployment does not automatically mean every external service is available.&lt;/p&gt;

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

&lt;p&gt;For Sproutly, open-weight AI offers the flexibility to experiment with different models and inference providers instead of tying the entire application to a single model service.&lt;/p&gt;

&lt;p&gt;That flexibility matters for a personal project because hosting costs and usage limits can affect whether an application remains usable over time.&lt;/p&gt;

&lt;p&gt;It also creates room to explore different approaches in the future, including alternative hosted providers and potentially local inference.&lt;/p&gt;

&lt;p&gt;My goal is not to use AI simply because it is available. I want it to make gardening guidance more useful and accessible.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌱 Building for Someone Real
&lt;/h2&gt;

&lt;p&gt;The most important part of this project is the person who inspired it.&lt;/p&gt;

&lt;p&gt;Building for my mom gave me a concrete user to think about. Instead of starting with a long list of AI features, I could start with a real interest and ask what might make that experience easier.&lt;/p&gt;

&lt;p&gt;Gardening is something people do away from their screens. Ideally, an app like Sproutly should help someone find the information they need and then get back outside to care for their plants.&lt;/p&gt;

&lt;p&gt;That is the experience I want to keep working toward.&lt;/p&gt;

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

&lt;p&gt;This project taught me a few important lessons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Build around a real need.&lt;/strong&gt; A personal motivation gives the project a clearer purpose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment is part of development.&lt;/strong&gt; Frontend and backend integrations need to be tested in production, not just locally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI reliability matters.&lt;/strong&gt; Choosing a model is only one part of building a dependable AI-powered application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design for the person using it.&lt;/strong&gt; Gardening knowledge should be easy to access without making the user navigate an unnecessarily complicated interface.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;I want to continue improving Sproutly with a focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More reliable AI inference&lt;/li&gt;
&lt;li&gt;Better plant-health guidance&lt;/li&gt;
&lt;li&gt;More useful seasonal recommendations for regional gardens&lt;/li&gt;
&lt;li&gt;Improved garden tracking and progress history&lt;/li&gt;
&lt;li&gt;A smoother experience for everyday gardening tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term goal is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spend less time wondering what your plants need, and more time helping them grow.&lt;/strong&gt; 🌱&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://sproutly-zeta.vercel.app" rel="noopener noreferrer"&gt;https://sproutly-zeta.vercel.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/hrishu802/Sproutly" rel="noopener noreferrer"&gt;https://github.com/hrishu802/Sproutly&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sproutly started with a simple idea: build something useful for someone I care about. I am excited to keep improving it and see how far the idea can grow.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <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>
