<?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: shetty sai kumar</title>
    <description>The latest articles on DEV Community by shetty sai kumar (@shetty_sai_kumar).</description>
    <link>https://dev.to/shetty_sai_kumar</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%2F4156768%2F639c14af-2c23-4209-afcb-2772c5e98777.jpeg</url>
      <title>DEV Community: shetty sai kumar</title>
      <link>https://dev.to/shetty_sai_kumar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shetty_sai_kumar"/>
    <language>en</language>
    <item>
      <title>EchoMind AI 🎙️ — An AI That Listens, Answers, and Remembers for You</title>
      <dc:creator>shetty sai kumar</dc:creator>
      <pubDate>Thu, 22 Oct 2026 19:50:29 +0000</pubDate>
      <link>https://dev.to/shetty_sai_kumar/echomind-ai-an-ai-that-listens-answers-and-remembers-for-you-4el7</link>
      <guid>https://dev.to/shetty_sai_kumar/echomind-ai-an-ai-that-listens-answers-and-remembers-for-you-4el7</guid>
      <description>&lt;h2&gt;
  
  
  EchoMind AI 🎙️ — An AI That Listens, Answers, and Remembers for You
&lt;/h2&gt;

&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;&lt;strong&gt;Why take notes, search for answers, and organize conversations manually when AI can help?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;EchoMind AI&lt;/strong&gt;, a real-time conversation assistant powered by open-weight AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Listen → Understand → Answer → Remember&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;EchoMind AI helps users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎙️ Capture microphone and browser-tab audio.&lt;/li&gt;
&lt;li&gt;📝 Convert speech into live transcripts.&lt;/li&gt;
&lt;li&gt;🧠 Automatically detect questions from conversations.&lt;/li&gt;
&lt;li&gt;⚡ Generate contextual answers using Meta Llama 3.1 8B.&lt;/li&gt;
&lt;li&gt;💾 Save conversation history and export transcripts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's designed for students, developers, online learners, and meeting participants who want to focus on conversations instead of repetitive note-taking.&lt;/p&gt;

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

&lt;p&gt;🌐 &lt;strong&gt;Live App:&lt;/strong&gt; &lt;a href="https://echomind-ai-frontend-mwcb.onrender.com/workspace" rel="noopener noreferrer"&gt;https://echomind-ai-frontend-mwcb.onrender.com/workspace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try speaking a question such as &lt;em&gt;"What is Java programming?"&lt;/em&gt;, then use the question detection feature to generate an AI-powered answer.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/shettysaikumar20/EchoMind-AI" rel="noopener noreferrer"&gt;https://github.com/shettysaikumar20/EchoMind-AI&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt; React 19, TypeScript, Vite, Tailwind CSS, Web Audio API, and AudioWorklet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend:&lt;/strong&gt; Python, FastAPI, WebSockets, SQLAlchemy, and SQLite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speech Recognition:&lt;/strong&gt; ElevenLabs Scribe Realtime (&lt;code&gt;scribe_v2_realtime&lt;/code&gt;) processes live audio through a secure FastAPI WebSocket proxy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open-Weight AI:&lt;/strong&gt; Meta Llama 3.1 8B Instruct generates contextual answers through OpenRouter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment:&lt;/strong&gt; Render hosts the React frontend and FastAPI backend.&lt;/p&gt;

&lt;p&gt;The workflow is straightforward:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Audio → ElevenLabs → Live Transcript → Question Detection → Llama 3.1 → AI Answer&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;During development, I worked through browser audio permissions, microphone sensitivity, WebSocket disconnections, and speech-recognition accuracy.&lt;/p&gt;

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

&lt;p&gt;Open-weight models make AI development more accessible and flexible.&lt;/p&gt;

&lt;p&gt;By using &lt;strong&gt;Meta Llama 3.1 8B&lt;/strong&gt;, EchoMind AI can explore different inference providers and potentially support self-hosted deployment.&lt;/p&gt;

&lt;p&gt;Open-source technologies such as React, FastAPI, and SQLAlchemy also make the architecture easier to inspect, modify, and extend.&lt;/p&gt;

&lt;p&gt;Instead of building AI models from scratch, I could focus on solving a real problem: reducing repetitive work during conversations.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff 🦥
&lt;/h2&gt;

&lt;p&gt;EchoMind AI fits the &lt;strong&gt;Slow and Steady&lt;/strong&gt; theme by reducing the effort needed to capture and revisit conversations.&lt;/p&gt;

&lt;p&gt;Instead of manually writing notes, searching for explanations, and organizing answers, users can handle these tasks in one workspace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Less typing. Less app switching. More listening.&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;🏆 &lt;strong&gt;Overall Hacktoberfest Week 3 — Slow and Steady&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎙️ &lt;strong&gt;Best Use of ElevenLabs&lt;/strong&gt; — Realtime speech transcription.&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;Best Use of Render&lt;/strong&gt; — Full-stack AI application deployment.&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Best Use of Backboard&lt;/strong&gt; — AI model orchestration and conversation memory, if integrated into the submitted application.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;EchoMind AI started with a simple idea: &lt;strong&gt;let AI handle the repetitive parts of conversations so people can focus on understanding them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building it taught me about real-time audio streaming, open-weight LLMs, WebSockets, and deploying AI-powered applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Listen. Understand. Answer. Remember.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://echomind-ai-frontend-mwcb.onrender.com/workspace" rel="noopener noreferrer"&gt;Try EchoMind AI&lt;/a&gt; | &lt;a href="https://github.com/shettysaikumar20/EchoMind-AI" rel="noopener noreferrer"&gt;View Source Code&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  devchallenge #hf26challenge #opensource #ai
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>MenuGuard AI 🍽️ — Helping Restaurants Fix Menu Mistakes with Open-Weight AI</title>
      <dc:creator>shetty sai kumar</dc:creator>
      <pubDate>Sat, 17 Oct 2026 19:21:51 +0000</pubDate>
      <link>https://dev.to/shetty_sai_kumar/menuguard-ai-helping-restaurants-fix-menu-mistakes-with-open-weight-ai-278f</link>
      <guid>https://dev.to/shetty_sai_kumar/menuguard-ai-helping-restaurants-fix-menu-mistakes-with-open-weight-ai-278f</guid>
      <description>&lt;h1&gt;
  
  
  MenuGuard AI 🍽️ — Helping Restaurants Fix Menu Mistakes with Open-Weight AI
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;This is a 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;Imagine running a restaurant with hundreds of menu items. A duplicate listing, inconsistent price, incorrect dietary label, or misleading description could confuse customers and damage trust.&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;MenuGuard AI&lt;/strong&gt;, an AI-powered menu auditing platform designed for restaurants, cafés, and cloud kitchens.&lt;/p&gt;

&lt;p&gt;It helps business owners identify menu mistakes, review AI-suggested corrections, and export cleaner, more consistent menus.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🍽️ &lt;strong&gt;Restaurant Dashboard:&lt;/strong&gt; Track menu items, detected issues, high-priority findings, and audit history.&lt;/li&gt;
&lt;li&gt;📂 &lt;strong&gt;Menu Management:&lt;/strong&gt; Add, edit, delete, search, and import menu items using CSV.&lt;/li&gt;
&lt;li&gt;🔍 &lt;strong&gt;Rule-Based Auditing:&lt;/strong&gt; Detect duplicate items, pricing conflicts, missing descriptions, and dietary contradictions.&lt;/li&gt;
&lt;li&gt;🤖 &lt;strong&gt;AI-Powered Auditing:&lt;/strong&gt; Analyze descriptions, ingredients, potentially misleading claims, and allergen uncertainty.&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Human-in-the-Loop Review:&lt;/strong&gt; Approve, reject, or edit suggested corrections before applying them.&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Before-and-After Comparison:&lt;/strong&gt; Compare original and corrected menu information.&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Export Reports:&lt;/strong&gt; Download cleaned menus and audit findings in CSV, Markdown, or JSON.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Who Would Pay for It?
&lt;/h3&gt;

&lt;p&gt;MenuGuard AI is designed for independent restaurant owners, small cafés, cloud kitchens, and food businesses that regularly update their menus.&lt;/p&gt;

&lt;p&gt;The potential business model is simple: affordable one-time menu audits or a low-cost monthly subscription.&lt;/p&gt;

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

&lt;p&gt;🚀 &lt;strong&gt;Live Application:&lt;/strong&gt; &lt;a href="https://menuguard-ai.onrender.com/" rel="noopener noreferrer"&gt;https://menuguard-ai.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try the application using the built-in fictional café dataset, run a menu audit, review findings, and explore the correction and export workflow.&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/shettysaikumar20/Menu-Gaurd" rel="noopener noreferrer"&gt;https://github.com/shettysaikumar20/Menu-Gaurd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes the frontend, backend, auditing logic, API integration, tests, and deployment configuration.&lt;/p&gt;

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

&lt;p&gt;MenuGuard AI combines deterministic validation with open-weight language model analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technology Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React, Vite, JavaScript&lt;/li&gt;
&lt;li&gt;Backend: Node.js, Express&lt;/li&gt;
&lt;li&gt;AI Integration: Backboard AI&lt;/li&gt;
&lt;li&gt;Open-Weight Model: Meta Llama 3.1 70B Instruct&lt;/li&gt;
&lt;li&gt;Model Provider Configuration: Featherless&lt;/li&gt;
&lt;li&gt;Testing: Vitest and backend API tests&lt;/li&gt;
&lt;li&gt;Deployment: Render&lt;/li&gt;
&lt;li&gt;Optional Database: MongoDB&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Layer 1 — Deterministic Auditing
&lt;/h3&gt;

&lt;p&gt;The rule engine identifies structural and logical issues such as missing fields, duplicate menu items, conflicting prices, and dietary contradictions.&lt;/p&gt;

&lt;p&gt;It also distinguishes legitimate size variants from actual pricing conflicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 2 — Open-Weight AI Auditing
&lt;/h3&gt;

&lt;p&gt;Llama 3.1 is integrated through Backboard AI to examine menu descriptions and ingredient information for possible inconsistencies, misleading language, and allergen-related uncertainty.&lt;/p&gt;

&lt;p&gt;When credentials are unavailable, the application uses an explicitly labeled mock fallback rather than silently presenting mock findings as live AI results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Human Review
&lt;/h3&gt;

&lt;p&gt;AI suggestions are not automatically applied.&lt;/p&gt;

&lt;p&gt;Restaurant managers can inspect the evidence, compare original and proposed values, approve or reject findings, and explicitly apply accepted changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testing and Verification
&lt;/h3&gt;

&lt;p&gt;During development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;15 backend tests passed.&lt;/li&gt;
&lt;li&gt;4 frontend tests passed.&lt;/li&gt;
&lt;li&gt;19 automated tests passed in the combined project test run.&lt;/li&gt;
&lt;li&gt;Production frontend build completed successfully.&lt;/li&gt;
&lt;li&gt;Backend health and API endpoints were tested locally.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application is configured to deploy its frontend and backend together as one Render web service.&lt;/p&gt;

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

&lt;p&gt;Open innovation is central to MenuGuard AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Model Flexibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using an open-weight model such as Llama 3.1 creates opportunities to experiment with different inference providers and model configurations rather than depending entirely on one proprietary model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Affordable AI for Small Businesses&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Restaurant owners need practical tools, not necessarily expensive enterprise software. Open-weight models provide options for building more cost-conscious AI services, although hosted inference still has operating costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Transparency and Control&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The auditing workflow combines understandable deterministic checks with AI analysis. Managers can review evidence and decide which corrections should be applied.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Customization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Different restaurants have different cuisines, ingredients, and dietary terminology. An open-weight approach makes it possible to adapt the analysis pipeline and explore specialized models in the future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Open Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project's source code is publicly available, making it possible for developers to inspect, improve, and extend the auditing system.&lt;/p&gt;

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

&lt;p&gt;Building MenuGuard AI taught me how to combine traditional software validation with open-weight AI, integrate an external inference service, build human-in-the-loop workflows, test REST APIs, and prepare a full-stack application for cloud deployment.&lt;/p&gt;

&lt;p&gt;The biggest lesson was that useful AI products need more than generated answers. They need evidence, clear limitations, and a way for users to remain in control.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;MenuGuard AI started with a simple idea:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if a small restaurant could check its entire menu for potential mistakes before customers ever saw them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By combining rule-based auditing, open-weight AI, and human review, I built a working foundation for an affordable restaurant menu-quality service.&lt;/p&gt;

&lt;p&gt;🍽️ &lt;strong&gt;MenuGuard AI — Smarter Menus. Fewer Mistakes. Better Business.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://menuguard-ai.onrender.com/" rel="noopener noreferrer"&gt;https://menuguard-ai.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/shettysaikumar20/Menu-Gaurd" rel="noopener noreferrer"&gt;https://github.com/shettysaikumar20/Menu-Gaurd&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks to DEV, MLH, and the Hacktoberfest community for encouraging developers to build useful products with open AI!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>OFFLOOP AI: ARISE — Turn Real Life Into an RPG and Break the Doomscrolling Cycle</title>
      <dc:creator>shetty sai kumar</dc:creator>
      <pubDate>Sun, 11 Oct 2026 17:32:07 +0000</pubDate>
      <link>https://dev.to/shetty_sai_kumar/offloop-ai-arise-turn-real-life-into-an-rpg-and-break-the-doomscrolling-cycle-5akh</link>
      <guid>https://dev.to/shetty_sai_kumar/offloop-ai-arise-turn-real-life-into-an-rpg-and-break-the-doomscrolling-cycle-5akh</guid>
      <description>&lt;p&gt;OFFLOOP AI: ARISE ⚔️ — Stop Scrolling, Start Leveling Up!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;OFFLOOP AI: ARISE&lt;/strong&gt; is an AI-powered, RPG-inspired application that turns real-world activities into exciting quests.&lt;/p&gt;

&lt;p&gt;Instead of endless scrolling, users become Hunters, complete challenges, earn XP, improve their stats, and level up in real life.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⚔️ Hunter Awakening and Rank Progression&lt;/li&gt;
&lt;li&gt;🌳 AI-generated outdoor exploration quests&lt;/li&gt;
&lt;li&gt;🏆 XP, achievements, and daily challenges&lt;/li&gt;
&lt;li&gt;💪 Character attributes and progression&lt;/li&gt;
&lt;li&gt;🎮 Immersive fantasy RPG interface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mission:&lt;/strong&gt; Make going outside as exciting as playing a game!&lt;/p&gt;

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

&lt;p&gt;🌐 &lt;strong&gt;&lt;a href="https://offloop-ai-arise.onrender.com/" rel="noopener noreferrer"&gt;Live Website&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎬 &lt;strong&gt;&lt;a href="https://youtu.be/U4pb6BUCgVM" rel="noopener noreferrer"&gt;YouTube Demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;💻 &lt;strong&gt;&lt;a href="https://github.com/shettysaikumar20/offloop-ai-arise" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, Vite, JavaScript, CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python, FastAPI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Weight AI:&lt;/strong&gt; Google Gemma 2 (&lt;code&gt;gemma2:2b&lt;/code&gt;) via Ollama&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Location Data:&lt;/strong&gt; OpenStreetMap + Overpass API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Render&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The locally tested Gemma 2 backend generates location-based outdoor quests with creative narratives and clues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example AI-generated quest:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🌳 &lt;strong&gt;Location:&lt;/strong&gt; Cubbon Park Botanical Garden&lt;/p&gt;

&lt;p&gt;⚔️ &lt;strong&gt;Quest:&lt;/strong&gt; Nature's Symphony: A Botanical Journey&lt;/p&gt;

&lt;p&gt;🤖 &lt;strong&gt;Model:&lt;/strong&gt; Gemma 2 (2B)&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Result:&lt;/strong&gt; Successfully generated a narrative and three exploration clues.&lt;/p&gt;

&lt;p&gt;The backend also supports hosted Gemma and deterministic fallback generation. The live website currently runs its core RPG features in the browser; the Gemma backend runs separately.&lt;/p&gt;

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

&lt;p&gt;Open-weight AI makes intelligent applications more accessible, affordable, and customizable.&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;Gemma 2 and Ollama&lt;/strong&gt;, I could develop and test AI-powered quest generation locally without depending entirely on proprietary cloud APIs.&lt;/p&gt;

&lt;p&gt;Open innovation empowers students and developers to experiment, collaborate, and build meaningful solutions.&lt;/p&gt;

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

&lt;p&gt;I used AI-assisted development tools for coding, debugging, testing, and documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Technology should inspire us to experience the real world, not just stare at screens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚔️ OFFLOOP AI: ARISE — Your Real Life Is Your Dungeon.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop Scrolling. Start Leveling Up!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>shetty sai kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 22:27:14 +0000</pubDate>
      <link>https://dev.to/shetty_sai_kumar/-26i6</link>
      <guid>https://dev.to/shetty_sai_kumar/-26i6</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j" class="crayons-story__hidden-navigation-link"&gt;I Built My Mother an AI Study Companion That Still Works Without the Internet&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&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="/shetty_sai_kumar" 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%2F4156768%2F639c14af-2c23-4209-afcb-2772c5e98777.jpeg" alt="shetty_sai_kumar profile" class="crayons-avatar__image" width="800" height="450"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/shetty_sai_kumar" class="crayons-story__secondary fw-medium m:hidden"&gt;
              shetty sai kumar
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                shetty sai kumar
                
                
              
              &lt;div id="story-author-preview-content-4797890" 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="/shetty_sai_kumar" 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%2F4156768%2F639c14af-2c23-4209-afcb-2772c5e98777.jpeg" class="crayons-avatar__image" alt="" width="800" height="450"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;shetty sai kumar&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/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j" 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/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j" id="article-link-4797890"&gt;
          I Built My Mother an AI Study Companion That Still Works Without the Internet
        &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;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&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/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j" 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/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j#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;
            5 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>learning</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Built My Mother an AI Study Companion That Still Works Without the Internet</title>
      <dc:creator>shetty sai kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 22:24:36 +0000</pubDate>
      <link>https://dev.to/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j</link>
      <guid>https://dev.to/shetty_sai_kumar/i-built-my-mother-an-ai-study-companion-that-still-works-without-the-internet-d3j</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;For the past three months, my mother has been learning &lt;strong&gt;10 English words every day&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Telugu is our native language, and she wants to become more comfortable understanding and speaking English. Her consistency wasn't the problem — &lt;strong&gt;retention was&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;She could learn ten words today, but weeks later, when I used one of those words in conversation, she would sometimes struggle to remember what it meant or how it was used.&lt;/p&gt;

&lt;p&gt;That gave me the idea for &lt;strong&gt;FriendForge — a Personal AI Study Companion&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I didn't want to build another chatbot that simply answers questions. I wanted something that could help her:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;learn words through simple explanations and examples&lt;/li&gt;
&lt;li&gt;quiz herself&lt;/li&gt;
&lt;li&gt;revise what she struggled with&lt;/li&gt;
&lt;li&gt;learn from uploaded notes&lt;/li&gt;
&lt;li&gt;listen to explanations&lt;/li&gt;
&lt;li&gt;continue learning even when internet connectivity isn't available&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last requirement became one of the most important parts of FriendForge.&lt;/p&gt;

&lt;p&gt;My mother sometimes travels to villages and places where internet connectivity can be unreliable. So FriendForge has two different ways to learn:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌐 Online Study&lt;/strong&gt; — Llama through Backboard, with RAG, study memory, quizzes, revision, and ElevenLabs voice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💻 Local AI&lt;/strong&gt; — Gemma 3 4B running locally through Ollama, allowing general study conversations without an internet connection once the model is installed.&lt;/p&gt;

&lt;p&gt;The idea behind FriendForge became:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;RAG remembers the material. Memory remembers the learner.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




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

&lt;p&gt;🎥 &lt;strong&gt;Video Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/dbDdB4gLBN0" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live Application&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://friendforge-gbqq.onrender.com" rel="noopener noreferrer"&gt;https://friendforge-gbqq.onrender.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔑 &lt;strong&gt;Demo access:&lt;/strong&gt; &lt;code&gt;HACKTOBERFEST2026!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The hosted version demonstrates FriendForge's Online Study experience. Local AI runs through Ollama on the user's own computer, so I demonstrate that separately in the video.&lt;/p&gt;




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

&lt;p&gt;The complete project is available on GitHub:&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/shettysaikumar20" rel="noopener noreferrer"&gt;
        shettysaikumar20
      &lt;/a&gt; / &lt;a href="https://github.com/shettysaikumar20/FriendForge" rel="noopener noreferrer"&gt;
        FriendForge
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI study companion with RAG, learner memory, local Gemma inference, and voice explanations.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;⚡ FriendForge&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;An AI Learning Companion — Learn. Practice. Remember. Revise.&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;RAG remembers the material. Memory remembers the learner.&lt;/strong&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6b823cd6ffc954e74c23071418f5b1223ac0c504101798f98844875fbaf4fad7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032362d4646364233353f7374796c653d666f722d7468652d6261646765"&gt;&lt;img src="https://camo.githubusercontent.com/6b823cd6ffc954e74c23071418f5b1223ac0c504101798f98844875fbaf4fad7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032362d4646364233353f7374796c653d666f722d7468652d6261646765" alt="Hacktoberfest"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/52c131dfabbe1d51aca31326f86d92cbcc6b443ea0a14cb67bab9178f4277b35/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31382d3631444146423f7374796c653d666f722d7468652d6261646765266c6f676f3d7265616374266c6f676f436f6c6f723d626c61636b"&gt;&lt;img src="https://camo.githubusercontent.com/52c131dfabbe1d51aca31326f86d92cbcc6b443ea0a14cb67bab9178f4277b35/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31382d3631444146423f7374796c653d666f722d7468652d6261646765266c6f676f3d7265616374266c6f676f436f6c6f723d626c61636b" alt="React"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/3ef71814e7617e3d30ed2bfcc355d65ff29e3bd863eb1d866c34a979d9ab105d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6f64652e6a732d4261636b656e642d3333393933333f7374796c653d666f722d7468652d6261646765266c6f676f3d6e6f64652e6a73266c6f676f436f6c6f723d7768697465"&gt;&lt;img src="https://camo.githubusercontent.com/3ef71814e7617e3d30ed2bfcc355d65ff29e3bd863eb1d866c34a979d9ab105d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6f64652e6a732d4261636b656e642d3333393933333f7374796c653d666f722d7468652d6261646765266c6f676f3d6e6f64652e6a73266c6f676f436f6c6f723d7768697465" alt="Node.js"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/05b2ce627087db51587e5da8fd33c499f5c72ad757425a106da5496a89fecdb3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47656d6d615f332d34425f4c6f63616c5f41492d3432383546343f7374796c653d666f722d7468652d6261646765266c6f676f3d676f6f676c65266c6f676f436f6c6f723d7768697465"&gt;&lt;img src="https://camo.githubusercontent.com/05b2ce627087db51587e5da8fd33c499f5c72ad757425a106da5496a89fecdb3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47656d6d615f332d34425f4c6f63616c5f41492d3432383546343f7374796c653d666f722d7468652d6261646765266c6f676f3d676f6f676c65266c6f676f436f6c6f723d7768697465" alt="Gemma"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b176017c667f4265d744b4a2dcc53ddde972485538d8c748040a581bf61238b4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f6c6c616d612d4c6f63616c5f496e666572656e63652d3030303030303f7374796c653d666f722d7468652d6261646765"&gt;&lt;img src="https://camo.githubusercontent.com/b176017c667f4265d744b4a2dcc53ddde972485538d8c748040a581bf61238b4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f6c6c616d612d4c6f63616c5f496e666572656e63652d3030303030303f7374796c653d666f722d7468652d6261646765" alt="Ollama"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/66ce0d29d5d0448754cacd4ab32b17a111c3230e0086a20566e6013a71c1d3cb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656e6465722d4465706c6f796d656e742d3436453342373f7374796c653d666f722d7468652d6261646765266c6f676f3d72656e646572266c6f676f436f6c6f723d626c61636b"&gt;&lt;img src="https://camo.githubusercontent.com/66ce0d29d5d0448754cacd4ab32b17a111c3230e0086a20566e6013a71c1d3cb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656e6465722d4465706c6f796d656e742d3436453342373f7374796c653d666f722d7468652d6261646765266c6f676f3d72656e646572266c6f676f436f6c6f723d626c61636b" alt="Render"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Online Study ☁️ · Document RAG 📚 · Study Memory 🧠 · Quizzes 📝 · Voice 🔊 · Local AI 💻&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ What is FriendForge?&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;FriendForge&lt;/strong&gt; is a personal AI learning companion built for the &lt;strong&gt;Hacktoberfest 2026 — Build for a Friend Challenge&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Instead of acting as just another chatbot, FriendForge combines learning material, contextual explanations, active recall, quizzes, revision, learner memory, voice accessibility, and optional local AI.&lt;/p&gt;
&lt;p&gt;A learner can upload study material, ask questions about it, simplify difficult concepts, test understanding, revisit weak areas, and switch to a locally running open-weight model when hosted AI is not appropriate or internet connectivity is unavailable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The goal isn't only to answer a question. It's to help the learner understand it, test it, and come back to what they haven't mastered&lt;/strong&gt;…&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/shettysaikumar20/FriendForge" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;FriendForge uses a React/Vite frontend with a Node.js/Express backend.&lt;/p&gt;




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

&lt;p&gt;FriendForge has two intentionally separate AI paths.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Online Study
&lt;/h3&gt;

&lt;p&gt;The online workflow is approximately:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;React → Express → Backboard → Llama&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Backboard provides the infrastructure for the online AI experience, including document retrieval and learner memory.&lt;/p&gt;

&lt;p&gt;Users can upload PDF or TXT study material and ask questions based on those documents.&lt;/p&gt;

&lt;p&gt;FriendForge also provides &lt;strong&gt;Quiz Me&lt;/strong&gt; and &lt;strong&gt;Revise&lt;/strong&gt; workflows so learning doesn't stop after receiving an explanation.&lt;/p&gt;

&lt;p&gt;For voice learning, I integrated &lt;strong&gt;ElevenLabs text-to-speech&lt;/strong&gt;. Voice generation happens only when the learner explicitly presses Listen.&lt;/p&gt;

&lt;h3&gt;
  
  
  💻 Local AI
&lt;/h3&gt;

&lt;p&gt;The local workflow is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;React → Express → Ollama → Gemma 3 4B&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This was particularly important to me.&lt;/p&gt;

&lt;p&gt;Once Ollama and Gemma are installed, the model inference happens directly on the laptop. FriendForge doesn't silently fall back to a cloud model when Local AI is selected.&lt;/p&gt;

&lt;p&gt;Local mode deliberately has a smaller feature set. It doesn't pretend to have Backboard document RAG, persistent cloud memory, or ElevenLabs voice.&lt;/p&gt;

&lt;p&gt;It is simply a local study companion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building for an 8 GB Laptop
&lt;/h3&gt;

&lt;p&gt;I didn't develop the offline feature on a powerful AI workstation.&lt;/p&gt;

&lt;p&gt;I tested Gemma 3 4B on my &lt;strong&gt;8 GB RAM laptop using CPU inference&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That exposed a very real trade-off.&lt;/p&gt;

&lt;p&gt;The hosted model responds quickly. Local Gemma can take considerably longer — sometimes tens of seconds depending on model loading and the prompt.&lt;/p&gt;

&lt;p&gt;But it works without internet access.&lt;/p&gt;

&lt;p&gt;For this project, that trade-off was worth making visible instead of hiding it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Things Broke Along the Way
&lt;/h3&gt;

&lt;p&gt;One of my favorite parts of this project was discovering that making an AI feature work is different from making it &lt;strong&gt;reliable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;During RAG testing, I found a case where the model correctly recognized that information wasn't present in the uploaded notes, but then continued by supplying outside knowledge anyway.&lt;/p&gt;

&lt;p&gt;That wasn't the behavior I wanted for a question explicitly asking about uploaded material.&lt;/p&gt;

&lt;p&gt;I tightened the retrieval boundaries and added tests around that behavior.&lt;/p&gt;

&lt;p&gt;I found a similar problem with local Gemma. Initially, it could imply that it had access to uploaded notes even though Local AI intentionally doesn't have access to Backboard RAG.&lt;/p&gt;

&lt;p&gt;So I strengthened the Local AI capability boundaries and tested them as well.&lt;/p&gt;

&lt;p&gt;Even production deployment gave me another surprise.&lt;/p&gt;

&lt;p&gt;ElevenLabs successfully generated audio, but the browser refused to play it because my Content Security Policy didn't permit the generated Blob URL.&lt;/p&gt;

&lt;p&gt;The fix was intentionally narrow:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;media-src 'self' blob:;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then I added a regression test instead of weakening the rest of the CSP.&lt;/p&gt;

&lt;p&gt;These failures ended up teaching me as much as implementing the original features.&lt;/p&gt;




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

&lt;p&gt;For FriendForge, open innovation isn't an abstract argument.&lt;/p&gt;

&lt;p&gt;It's the reason part of this application can continue working when the internet disappears.&lt;/p&gt;

&lt;p&gt;Running &lt;strong&gt;Gemma 3 4B locally through Ollama&lt;/strong&gt; means the core local study conversation doesn't require sending every question to a hosted AI service.&lt;/p&gt;

&lt;p&gt;It also gives me freedom to experiment with the model and local inference architecture rather than making the entire learning experience dependent on one remote API.&lt;/p&gt;

&lt;p&gt;There is a cost.&lt;/p&gt;

&lt;p&gt;On my hardware, local inference is significantly slower than the hosted experience.&lt;/p&gt;

&lt;p&gt;But when I disconnected Wi-Fi and watched FriendForge continue generating an answer, the advantage became very clear to me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speed wasn't the advantage. Independence was.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open-weight models make it possible to build experiences where cloud AI and local AI don't have to compete. They can solve different parts of the same problem.&lt;/p&gt;

&lt;p&gt;FriendForge uses the cloud when connectivity and richer features are available, and provides a smaller local experience when independence matters more.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Most Important Test
&lt;/h2&gt;

&lt;p&gt;Eventually, I gave FriendForge to the person I actually built it for.&lt;/p&gt;

&lt;p&gt;My mother tried it.&lt;/p&gt;

&lt;p&gt;The difference between the two modes was immediately noticeable. Online Llama was fast, while local Gemma took more time to respond on my laptop.&lt;/p&gt;

&lt;p&gt;But the part that surprised her was that the local AI could still answer when there was no internet connection.&lt;/p&gt;

&lt;p&gt;She told me she was &lt;strong&gt;proud of me&lt;/strong&gt; and that the project would be &lt;strong&gt;useful to her&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That mattered more to me than another benchmark.&lt;/p&gt;

&lt;p&gt;FriendForge isn't something I built by imagining what a hypothetical user might want.&lt;/p&gt;

&lt;p&gt;It came from watching someone I love consistently try to learn something, noticing where technology could help, and then letting her actually use what I built.&lt;/p&gt;




&lt;h2&gt;
  
  
  What FriendForge Can't Do Yet
&lt;/h2&gt;

&lt;p&gt;I also want to be transparent about its limitations.&lt;/p&gt;

&lt;p&gt;Local AI currently provides general study conversations. It doesn't have the document RAG, persistent Backboard study memory, or ElevenLabs voice available in Online Study.&lt;/p&gt;

&lt;p&gt;Local inference is also considerably slower on my CPU-only 8 GB laptop.&lt;/p&gt;

&lt;p&gt;And the hosted Render deployment cannot access Ollama running on somebody's laptop. Local AI is therefore used through the locally launched FriendForge application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Those aren't features I want to disguise. They're boundaries that make the two modes understandable and predictable.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🤖 My Agent Sessions
&lt;/h2&gt;

&lt;p&gt;I used an AI-assisted development workflow throughout FriendForge and preserved the development process with DevRelay.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Building FriendForge &amp;amp; the RAG Foundation
&lt;/h3&gt;

&lt;p&gt;This session covers the initial architecture, React/Vite frontend, Express backend, Backboard integration, and the development of the document-based RAG workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/agent_sessions/friendforge-open-weight-ai-study-companion-full-development-rag-journey-ddiqhi"&gt;https://dev.to/agent_sessions/friendforge-open-weight-ai-study-companion-full-development-rag-journey-ddiqhi&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Reliability, Local AI &amp;amp; Final Refinement
&lt;/h3&gt;

&lt;p&gt;This session captures the later engineering and reliability work as FriendForge evolved into the final application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/agent_sessions/friendforge-open-weight-ai-study-companion-full-build-reliability-journey-ly6gby"&gt;https://dev.to/agent_sessions/friendforge-open-weight-ai-study-companion-full-build-reliability-journey-ly6gby&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Technology
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 4B&lt;/strong&gt; — open-weight local model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; — local inference&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backboard&lt;/strong&gt; — online AI, RAG, and memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Llama&lt;/strong&gt; — online language model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElevenLabs&lt;/strong&gt; — text-to-speech&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite&lt;/strong&gt; — frontend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Node.js + Express&lt;/strong&gt; — backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Render&lt;/strong&gt; — deployment&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;I'm submitting FriendForge for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overall Challenge&lt;/li&gt;
&lt;li&gt;Gemma&lt;/li&gt;
&lt;li&gt;Backboard&lt;/li&gt;
&lt;li&gt;ElevenLabs&lt;/li&gt;
&lt;li&gt;Render&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I started FriendForge because my mother was learning ten English words every day.&lt;/p&gt;

&lt;p&gt;I finished it after watching her use something I had built specifically for the way she learns — including seeing her surprise when the AI continued responding without an internet connection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speed wasn't the advantage. Independence was.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And for me, building something genuinely useful for someone I love is exactly what &lt;strong&gt;Build for a Friend&lt;/strong&gt; meant.&lt;/p&gt;

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