<?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: Ãbhishek</title>
    <description>The latest articles on DEV Community by Ãbhishek (@mr_abhi_930).</description>
    <link>https://dev.to/mr_abhi_930</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%2F1652538%2F7b8c7c6a-4bcc-4f8a-bb10-da4dc7479a09.png</url>
      <title>DEV Community: Ãbhishek</title>
      <link>https://dev.to/mr_abhi_930</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mr_abhi_930"/>
    <language>en</language>
    <item>
      <title>STILL: Less Noise, More Stillness | Building a Local-First AI Assistant with Gemma 3</title>
      <dc:creator>Ãbhishek</dc:creator>
      <pubDate>Sat, 24 Oct 2026 18:07:16 +0000</pubDate>
      <link>https://dev.to/mr_abhi_930/still-less-noise-more-stillness-building-a-local-first-ai-assistant-with-gemma-3-1ffl</link>
      <guid>https://dev.to/mr_abhi_930/still-less-noise-more-stillness-building-a-local-first-ai-assistant-with-gemma-3-1ffl</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;Meet &lt;strong&gt;STILL&lt;/strong&gt;, a local-first AI assistant that helps you declutter your digital life.&lt;/p&gt;

&lt;p&gt;Feed it messy notes, unfinished tasks, or meeting summaries, and let AI organize them into four categories: &lt;strong&gt;Act, Keep, Rest, and Archive.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal? Spend less time organizing your thoughts and more time on what actually matters.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://still-0y53.onrender.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Try STILL →&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/Abhishek-IITP/still" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Repository →&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Built with Next.js, TypeScript, Bun, Tailwind CSS, and GSAP, with &lt;strong&gt;Gemma 3 running through Ollama&lt;/strong&gt; for local AI inference.&lt;/p&gt;

&lt;p&gt;Gemma 3 analyzes notes, identifies potential priorities, detects overlapping information, and suggests what can wait.&lt;/p&gt;

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

&lt;p&gt;Personal notes can contain sensitive thoughts and unfinished work. Running Gemma 3 locally gives users more control over their data and reduces dependence on paid, proprietary AI APIs.&lt;/p&gt;

&lt;p&gt;Open-weight models also let developers experiment with model configurations and build AI tools on their own terms.&lt;/p&gt;

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

&lt;p&gt;Instead of manually sorting every unfinished thought, let STILL help you find the few things worth your attention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not another AI that gives you more work. An AI that helps you do less.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Built for Hacktoberfest Open-Source AI Challenge Week 3: &lt;em&gt;Slow and Steady&lt;/em&gt;.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>GarageScribe: Bringing Local Open-Source AI to the Neighborhood Mechanic 🔧</title>
      <dc:creator>Ãbhishek</dc:creator>
      <pubDate>Sun, 18 Oct 2026 06:21:19 +0000</pubDate>
      <link>https://dev.to/mr_abhi_930/garagescribe-bringing-local-open-source-ai-to-the-neighborhood-mechanic-47ba</link>
      <guid>https://dev.to/mr_abhi_930/garagescribe-bringing-local-open-source-ai-to-the-neighborhood-mechanic-47ba</guid>
      <description>&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;&lt;strong&gt;GarageScribe&lt;/strong&gt; is an AI-powered assistant for independent motorcycle repair garages. It transforms mechanic notes into structured job cards, repair estimates, and customer-ready service summaries, helping small workshops save time and manage records efficiently.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://garage-scribe.vercel.app/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/Abhishek-IITP/GarageScribe" rel="noopener noreferrer"&gt;GitHub Repository: GarageScribe&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Built with Next.js, TypeScript, MongoDB, Python, FastAPI, and Ollama with an open-weight Gemma model. The goal is to use local AI for structuring mechanic notes while keeping customer data under the workshop's control.&lt;/p&gt;

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

&lt;p&gt;Open-weight models enable local inference, reduce dependency on paid AI APIs, and allow models to be swapped or adapted. GarageScribe is designed to support offline workflows after initial setup and model downloads.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>WildSense: An Offline AI Nature Companion That Gets You to Touch Grass</title>
      <dc:creator>Ãbhishek</dc:creator>
      <pubDate>Sun, 11 Oct 2026 14:40:23 +0000</pubDate>
      <link>https://dev.to/mr_abhi_930/wildsense-an-offline-ai-nature-companion-that-gets-you-to-touch-grass-3k9e</link>
      <guid>https://dev.to/mr_abhi_930/wildsense-an-offline-ai-nature-companion-that-gets-you-to-touch-grass-3k9e</guid>
      <description>&lt;h1&gt;
  
  
  WildSense: An Offline AI Nature Companion That Gets You to Touch Grass 🌿
&lt;/h1&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;WildSense is an AI-powered nature companion designed to get people off their screens and into the real world.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We spend so much time staring at screens that we often overlook the world right outside our doors. A walk becomes another opportunity to check notifications, and a park becomes just another place to scroll through our feeds.&lt;/p&gt;

&lt;p&gt;I wanted to build something that uses AI to encourage the opposite.&lt;/p&gt;

&lt;p&gt;WildSense helps turn an ordinary walk into a small adventure. It generates nature missions that encourage users to slow down, explore their surroundings, and notice things they might otherwise miss.&lt;/p&gt;

&lt;p&gt;Here are a few things you can do with WildSense:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌿 &lt;strong&gt;AI-powered nature missions:&lt;/strong&gt; Generate personalized outdoor challenges based on your available time, surroundings, interests, and difficulty level.&lt;/li&gt;
&lt;li&gt;🔎 &lt;strong&gt;Explore the little things:&lt;/strong&gt; Discover activities involving leaves, textures, colours, natural sounds, and the details hiding in plain sight.&lt;/li&gt;
&lt;li&gt;🌳 &lt;strong&gt;Get outside, not stuck inside the app:&lt;/strong&gt; Read your mission, put your phone away, and complete the activity in the real world.&lt;/li&gt;
&lt;li&gt;📔 &lt;strong&gt;Keep a nature journal:&lt;/strong&gt; Record your observations, discoveries, and reflections so you can revisit your outdoor experiences.&lt;/li&gt;
&lt;li&gt;🤖 &lt;strong&gt;Local AI with Gemma:&lt;/strong&gt; Use an open-weight model through Ollama for locally generated missions and reflections when the local model is available.&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;Privacy-conscious by design:&lt;/strong&gt; The goal is to keep personal observations under the user's control and make the core experience useful without depending on a cloud AI API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Imagine spending ten minutes looking for five different shades of green, listening carefully to the sounds around you, or exploring a tiny patch of ground that you would normally walk straight past.&lt;/p&gt;

&lt;p&gt;That's the idea behind WildSense.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal isn't to spend more time using the app. It's to discover more reasons to put it away.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Try it out
&lt;/h3&gt;

&lt;p&gt;🌐 &lt;strong&gt;Live application:&lt;/strong&gt; &lt;a href="https://wildsense-xx4s.onrender.com/" rel="noopener noreferrer"&gt;https://wildsense-xx4s.onrender.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/abhishek-IITP/wildsense" rel="noopener noreferrer"&gt;https://github.com/abhishek-IITP/wildsense&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The project is open source, and you can explore the implementation, inspect the code, and contribute improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/abhishek-IITP/wildsense" rel="noopener noreferrer"&gt;https://github.com/abhishek-IITP/wildsense&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find the idea interesting, feel free to explore the repository, suggest improvements, or contribute a new way to make outdoor exploration more engaging.&lt;/p&gt;

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

&lt;p&gt;WildSense combines a modern web experience with open-weight AI and an offline-first product philosophy.&lt;/p&gt;

&lt;h3&gt;
  
  
  The technology behind it
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gemma 3 4B:&lt;/strong&gt; The open-weight language model used for generating nature missions and reflections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; Runs the model locally and provides the inference interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;React / Next.js:&lt;/strong&gt; Provides the application experience and its interactive frontend, depending on the deployed project configuration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript:&lt;/strong&gt; Helps structure the application's data models and application logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB:&lt;/strong&gt; Provides a database option for persistent server-side records and synchronization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS:&lt;/strong&gt; Supports the responsive, nature-inspired visual design.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How the AI fits into the experience
&lt;/h3&gt;

&lt;p&gt;The AI isn't intended to be another chatbot that users spend hours talking to.&lt;/p&gt;

&lt;p&gt;Instead, it helps prepare a small, actionable outdoor experience.&lt;/p&gt;

&lt;p&gt;A user can choose how much time they have, what kind of environment they plan to explore, and what interests them. The AI can then generate a mission with practical steps and a curiosity prompt.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mission: The Shape Collector&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Duration: 10 minutes&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find three leaves with noticeably different outlines.&lt;/li&gt;
&lt;li&gt;Compare their edges, textures, and colours.&lt;/li&gt;
&lt;li&gt;Choose one detail you hadn't noticed before.&lt;/li&gt;
&lt;li&gt;Leave everything where you found it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After completing the mission, the user can record what they observed and receive an optional AI-generated reflection.&lt;/p&gt;

&lt;p&gt;The important distinction is that the AI helps create the experience, but the experience itself happens outside the application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Designing for offline use
&lt;/h3&gt;

&lt;p&gt;I wanted local AI to be a meaningful part of the architecture rather than simply connecting another API to a frontend.&lt;/p&gt;

&lt;p&gt;Using Gemma through Ollama makes local inference possible without sending every prompt to a hosted language-model provider.&lt;/p&gt;

&lt;p&gt;The application is designed around the idea that core activities should remain useful even when AI or network connectivity is unavailable. Built-in missions and local persistence can provide a fallback when the local model or server is unavailable.&lt;/p&gt;

&lt;p&gt;One important distinction: local inference, offline application access, and database synchronization are separate capabilities. A complete offline experience requires the frontend assets and local storage to be available on the device, while remote synchronization naturally requires connectivity.&lt;/p&gt;

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

&lt;p&gt;For WildSense, open innovation is about &lt;strong&gt;control, accessibility, and building AI that serves people rather than capturing their attention.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Local inference makes a different experience possible
&lt;/h3&gt;

&lt;p&gt;A conventional application built entirely around a hosted AI API depends on network connectivity and an external inference service.&lt;/p&gt;

&lt;p&gt;With an open-weight model such as Gemma running through Ollama, local inference becomes possible. Users and developers can experiment with AI-generated missions without requiring a paid cloud-model API for every request.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Privacy matters when the experience is personal
&lt;/h3&gt;

&lt;p&gt;A nature journal can contain personal observations, thoughts, and reflections.&lt;/p&gt;

&lt;p&gt;A local-first architecture makes it possible to keep those records on the user's device by default rather than automatically sending everything to a remote service.&lt;/p&gt;

&lt;p&gt;This is an architectural goal, not a claim that every deployment is automatically private. Any remote synchronization or external service must be configured and communicated clearly.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Developers can experiment and adapt
&lt;/h3&gt;

&lt;p&gt;Open-weight models give developers greater flexibility to experiment with prompts, swap compatible models, evaluate different behaviours, and adapt the application to their needs.&lt;/p&gt;

&lt;p&gt;That matters for WildSense because the model should produce safe, practical outdoor activities rather than generic chatbot responses.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. AI doesn't have to mean more screen time
&lt;/h3&gt;

&lt;p&gt;Perhaps the most important reason is philosophical.&lt;/p&gt;

&lt;p&gt;Many AI products are designed to maximize the amount of time users spend interacting with them. WildSense explores a different direction: use AI to create a reason to leave the screen.&lt;/p&gt;

&lt;p&gt;Generate a mission. Go outside. Notice something new. Return when you're ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The best AI interaction might be the one that gives you a reason to stop interacting with AI for a while.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the kind of open innovation I wanted to explore with this project.&lt;/p&gt;

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

&lt;p&gt;I don't have a DevRelay session link to include yet. If you have a saved session, you can embed it here using the &lt;code&gt;agent_session&lt;/code&gt; tag specified in the challenge instructions, or link directly to the session.&lt;/p&gt;

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

&lt;p&gt;WildSense is submitted for the &lt;strong&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The project aligns with the challenge's focus on open-weight AI and applications that encourage people to spend more time outdoors.&lt;/p&gt;

&lt;p&gt;I'll leave additional partner prize categories out unless the project meets their specific eligibility requirements.&lt;/p&gt;




&lt;p&gt;Thanks for checking out WildSense! 🌱&lt;/p&gt;

&lt;p&gt;If you try it, I'd love to hear what kind of nature mission you would complete first.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/abhishek-IITP/wildsense" rel="noopener noreferrer"&gt;https://github.com/abhishek-IITP/wildsense&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sometimes the best thing technology can do is remind us to look up.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Saarthi: A Local AI Companion That Remembers What Matters</title>
      <dc:creator>Ãbhishek</dc:creator>
      <pubDate>Sun, 04 Oct 2026 20:49:32 +0000</pubDate>
      <link>https://dev.to/mr_abhi_930/saarthi-a-local-ai-companion-that-remembers-what-matters-4657</link>
      <guid>https://dev.to/mr_abhi_930/saarthi-a-local-ai-companion-that-remembers-what-matters-4657</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;I built &lt;strong&gt;Saarthi&lt;/strong&gt;, a local AI companion that remembers what matters to you and uses that context to help you decide what to do next.&lt;/p&gt;

&lt;p&gt;I built it for a close friend who often has a lot going on at the same time: exams, projects, personal goals, things they want to learn, and deadlines they don't want to forget.&lt;/p&gt;

&lt;p&gt;The problem wasn't that they needed another chatbot.&lt;/p&gt;

&lt;p&gt;They needed something that actually &lt;strong&gt;understood their context&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;With Saarthi, they can naturally tell it things like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I have my DBMS exam on Friday and normalization is really confusing me."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of simply replying to that message, Saarthi can understand that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There is an upcoming DBMS exam.&lt;/li&gt;
&lt;li&gt;Normalization is a weak area.&lt;/li&gt;
&lt;li&gt;The exam should probably become a high-priority task.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user gets to decide whether Saarthi should remember that information.&lt;/p&gt;

&lt;p&gt;Once remembered, MongoDB becomes Saarthi's long-term memory.&lt;/p&gt;

&lt;p&gt;Later, asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What should I focus on today?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;can produce a personalized answer based on those memories.&lt;/p&gt;

&lt;p&gt;Saarthi can also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify useful information from natural conversations&lt;/li&gt;
&lt;li&gt;Ask before permanently remembering inferred information&lt;/li&gt;
&lt;li&gt;Track goals, weaknesses, preferences and upcoming events&lt;/li&gt;
&lt;li&gt;Detect when something changes&lt;/li&gt;
&lt;li&gt;Update existing memories instead of creating duplicates&lt;/li&gt;
&lt;li&gt;Show why a particular recommendation was made&lt;/li&gt;
&lt;li&gt;Generate a personalized plan for the day&lt;/li&gt;
&lt;li&gt;Show the context that influenced an AI response&lt;/li&gt;
&lt;li&gt;Visualize the user's context through a timeline and context graph&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Saarthi doesn't just remember what you said. It uses what it remembers to understand what matters next.&lt;/strong&gt;&lt;/p&gt;

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

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

&lt;p&gt;One of the main things I demonstrate in the video is Saarthi running with the internet disconnected.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tell Saarthi something
        ↓
Gemma understands it
        ↓
User approves the memory
        ↓
MongoDB stores it
        ↓
Saarthi uses that context later
        ↓
Gemma provides a personalized recommendation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Abhishek-IITP/Saarthi" rel="noopener noreferrer"&gt;https://github.com/Abhishek-IITP/Saarthi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is built around a deliberately simple architecture:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Next.js
   │
   ├── MongoDB
   │      └── Personal Context / Memories
   │
   └── Ollama
          └── Gemma
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There is no complicated microservice architecture behind the prototype.&lt;/p&gt;

&lt;p&gt;The goal was to keep the product small while making the AI behavior meaningful.&lt;/p&gt;

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

&lt;p&gt;The core of Saarthi is &lt;strong&gt;Gemma running locally through Ollama&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When a user sends a message, Saarthi can pass it to Gemma to identify useful information that could become part of the user's long-term context.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"I have my DBMS exam on Friday and
normalization is really confusing me."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;can become structured context such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DBMS exam → Friday
Normalization → Weakness
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user can then approve or reject what should be remembered.&lt;/p&gt;

&lt;p&gt;MongoDB stores that context along with information such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;category
importance
confidence
source
status
createdAt
updatedAt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This lets Saarthi distinguish between something the user explicitly said and something the AI inferred.&lt;/p&gt;

&lt;p&gt;When the user asks a question, relevant context is retrieved from MongoDB and provided to Gemma.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User:
"What should I focus on today?"

        ↓

MongoDB

DBMS exam → Friday
Normalization → Weakness
Placement preparation → Goal
Night study → Preference

        ↓

Gemma

        ↓

Personalized recommendation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I also added a &lt;strong&gt;"Why this?"&lt;/strong&gt; interaction so Saarthi can show which memories influenced its recommendation.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Why this?

• Your DBMS exam is Friday
• You identified normalization as difficult
• You prefer studying at night
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes the connection between memory and AI reasoning visible instead of hiding it behind a black box.&lt;/p&gt;

&lt;p&gt;Another part I wanted to explore was &lt;strong&gt;changing context&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If a user initially says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"My project submission is tomorrow."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and later says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"My project submission is finally done."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Saarthi shouldn't create two unrelated memories.&lt;/p&gt;

&lt;p&gt;It should understand that the existing event has changed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Project submission

Upcoming
    ↓
Completed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That allows the assistant's priorities to change as the user's situation changes.&lt;/p&gt;

&lt;p&gt;The main technologies are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js&lt;/strong&gt; for the application&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; for the implementation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB&lt;/strong&gt; for persistent personal context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma&lt;/strong&gt; for local AI reasoning and memory extraction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; for running Gemma locally&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; for the interface&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framer Motion&lt;/strong&gt; for subtle interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I intentionally avoided adding a large agent framework or complicated infrastructure.&lt;/p&gt;

&lt;p&gt;The interesting part of the project is the interaction between &lt;strong&gt;memory, context and local AI&lt;/strong&gt;, not the number of technologies used.&lt;/p&gt;

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

&lt;p&gt;Personal context is exactly the kind of information I don't want to blindly send to a third-party AI provider.&lt;/p&gt;

&lt;p&gt;Saarthi uses Gemma locally through Ollama, which means the AI inference can happen directly on the user's machine.&lt;/p&gt;

&lt;p&gt;That gives the user more control.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Run the model locally&lt;/li&gt;
&lt;li&gt;Use Saarthi without an internet connection&lt;/li&gt;
&lt;li&gt;Change the model&lt;/li&gt;
&lt;li&gt;Modify the prompts&lt;/li&gt;
&lt;li&gt;Change how memories are extracted&lt;/li&gt;
&lt;li&gt;Change how the assistant prioritizes information&lt;/li&gt;
&lt;li&gt;Experiment with the AI behavior without depending on a proprietary API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The open approach also changed what I could build.&lt;/p&gt;

&lt;p&gt;With a closed API, I could have made:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Question → API → Answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead, I could build the AI into the actual product behavior:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Conversation
     ↓
Memory extraction
     ↓
User approval
     ↓
Persistent context
     ↓
Context updates
     ↓
Prioritization
     ↓
Planning
     ↓
Personalized answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gemma isn't just being used to generate text.&lt;/p&gt;

&lt;p&gt;It is part of the application's memory and reasoning system.&lt;/p&gt;

&lt;p&gt;That's what made open innovation particularly useful for Saarthi.&lt;/p&gt;

&lt;p&gt;And the most satisfying part is being able to turn off the internet and still have the core AI experience work.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Build for a Friend&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open-source AI / Open-weight AI&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Saarthi was built specifically around a real person's needs rather than as a generic AI demo.&lt;/p&gt;

&lt;p&gt;The project also relies on locally running open-weight AI through Gemma and Ollama as a core part of its functionality.&lt;/p&gt;

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