<?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: Disha Khanapurkar</title>
    <description>The latest articles on DEV Community by Disha Khanapurkar (@dishakhanapurkar).</description>
    <link>https://dev.to/dishakhanapurkar</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%2F957014%2F96667f11-70ea-42a1-8d50-c8b67b94170a.png</url>
      <title>DEV Community: Disha Khanapurkar</title>
      <link>https://dev.to/dishakhanapurkar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dishakhanapurkar"/>
    <language>en</language>
    <item>
      <title>There’s a Snarky Dead Guy Trapped in My Laptop, and He Has Opinions About My Stack Trace!</title>
      <dc:creator>Disha Khanapurkar</dc:creator>
      <pubDate>Sat, 31 Oct 2026 06:30:51 +0000</pubDate>
      <link>https://dev.to/dishakhanapurkar/theres-a-snarky-dead-guy-trapped-in-my-laptop-and-he-has-opinions-about-my-stack-trace-5h2i</link>
      <guid>https://dev.to/dishakhanapurkar/theres-a-snarky-dead-guy-trapped-in-my-laptop-and-he-has-opinions-about-my-stack-trace-5h2i</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&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;PolterPaste&lt;/strong&gt; — a desktop ghost that lives rent-free in your operating system's clipboard. &lt;/p&gt;

&lt;p&gt;Every time you copy a piece of text, code, or a messy stack trace, a snarky 19th-century aristocrat named &lt;strong&gt;Lord Bartholomew Blackwood&lt;/strong&gt; pops up on your screen to judge your choices with effortless Victorian sarcasm. No old dusty English—just sharp, witty roasts delivered via a semi-transparent, gothic floating UI.&lt;/p&gt;




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

&lt;p&gt;Suppose you make a small error and copy it to perhaps debug it:&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%2F8imauexgq7pcliqgarpd.jpeg" 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%2F8imauexgq7pcliqgarpd.jpeg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No one can escape Lord Bartholomew's perfect taunt:&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%2Ffotamco4iujvlgucl9sn.jpeg" 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%2Ffotamco4iujvlgucl9sn.jpeg" alt=" " width="649" height="621"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, if you try to reason out, he's got a witty replies up his sleeve! &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%2Fcddzoojyhphaqzhf1w6z.jpeg" 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%2Fcddzoojyhphaqzhf1w6z.jpeg" alt=" " width="799" height="469"&gt;&lt;/a&gt;&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%2Fq5gopzz49swjdxhufsxi.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%2Fq5gopzz49swjdxhufsxi.png" alt=" " width="638" height="201"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;Here is the core engine behind the haunting. You can check out the full repository on GitHub: [&lt;a href="https://github.com/tan-byte/lord_bartholomew/" rel="noopener noreferrer"&gt;https://github.com/tan-byte/lord_bartholomew/&lt;/a&gt;]&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tkinter&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tk&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pyperclip&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="c1"&gt;# Initialize the Gemini client with your API key
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_ACTUAL_API_KEY_HERE&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_ghost_commentary&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;copied_text&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# The snarky Victorian persona prompt
&lt;/span&gt;    &lt;span class="n"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are Lord Bartholomew Blackwood, a snarky Victorian ghost trapped &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;inside this laptop. You speak with crisp, effortless aristocratic &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sarcasm—sharp, witty English that cuts deep. Look at what the mortal &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;just copied and give a 1-to-2 sentence biting, theatrical roast of their &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;code or life choices. Keep it punchy and utterly unimpressed. Text copied: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;copied_text&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# The crucial AI interaction point using the official Google GenAI SDK
&lt;/span&gt;        &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gemma-2-9b-it&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;contents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The ghost stares in silence.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The spirit&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s connection to the cloud severed: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;PolterPaste brings together three simple layers to create the illusion of a haunted machine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Clipboard Watcher: Built using pyperclip running in a lightweight background while loop that polls clipboard changes every 1.5 seconds.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Intelligence Layer: Powered by the official google-genai SDK (gemini-3.8-flash), which transforms raw, boring copied text into personalized theatrical roasts using structured system instructions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Gothic UI: A custom, borderless, semi-transparent floating window built with Python's native tkinter featuring dark styling (#0d0d0d), a scrollbar for longer rants, and a click-to-dismiss behavior so it stays until you acknowledge your digital sins.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Building lightweight desktop agents like this highlights why accessible, open-developer tooling is so powerful. Being able to plug a cutting-edge cloud model directly into local system utilities like the clipboard with just a few lines of Python opens up endless possibilities for creative, whimsical, and borderline unhinged developer tools that completely change how we interact with our operating systems!&lt;/p&gt;

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

&lt;p&gt;Best use of Gemma&lt;br&gt;
Ghost in the Machine&lt;/p&gt;

&lt;p&gt;P.S: The best response so far:&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%2Fouemc3wh01vmr2op8i4d.jpeg" 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%2Fouemc3wh01vmr2op8i4d.jpeg" alt=" " width="549" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>programming</category>
    </item>
    <item>
      <title>A buddy that helps you before procrastination gets you.</title>
      <dc:creator>Disha Khanapurkar</dc:creator>
      <pubDate>Sun, 25 Oct 2026 17:41:29 +0000</pubDate>
      <link>https://dev.to/dishakhanapurkar/a-buddy-that-helps-you-before-procrastination-gets-you-31jg</link>
      <guid>https://dev.to/dishakhanapurkar/a-buddy-that-helps-you-before-procrastination-gets-you-31jg</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;SlothGuard is an ambient local agent that quietly watches your screen and only speaks up when you appear stuck.&lt;br&gt;
Most AI tools force you to break focus: select text, switch windows, write a prompt, and wait. &lt;br&gt;
SlothGuard flips that. It runs in the background, takes low-resolution screenshots every few seconds, and detects when the screen has barely changed for a while (you’re staring at the same error, the same docs, or the same failing test). When that happens, it asks a local open-weight model for one short, calm tip and speaks it through local text-to-speech. Then it goes silent again.&lt;br&gt;
It exists so developers (especially the ones coding late at night) can stay a little lazier. You don’t have to notice you’re stuck. You don’t have to decide to ask for help. The agent notices the stagnation and offers a gentle nudge only when it might actually be useful.&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%2Fwcjytfn9thk3lu2fbx0f.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%2Fwcjytfn9thk3lu2fbx0f.png" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; https://github.com/tan-byte/slothguard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;SlothGuard was built entirely around local, open-source AI. Rather than utilizing a closed API, every component was picked with privacy, offline capability, and customizability in mind. &lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Tool(s) Used&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Screen Capture&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;mss&lt;/code&gt; + &lt;code&gt;Pillow&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Fast, cross-platform, and low-resolution captures to minimize CPU usage.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stagnation Detection&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;scikit-image&lt;/code&gt; (SSIM)&lt;/td&gt;
&lt;td&gt;Compares perceptual similarity between grayscale, downscaled frames to detect when the screen has stayed nearly identical.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Local Inference&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://ollama.com/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; with &lt;code&gt;moondream&lt;/code&gt; (preferred) or &lt;code&gt;gemma2:2b&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Generates a short, context-aware tip based off of the "stuck" signal. Vision capable models can utilize a cropped screenshot for better context.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text-to-Speech&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://github.com/rhasspy/piper" rel="noopener noreferrer"&gt;Piper TTS&lt;/a&gt; (&lt;code&gt;en_US-lessac-medium&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Completely offline, neural TTS to audibly deliver the tip.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;On-Screen Overlay&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;tkinter&lt;/code&gt;, &lt;code&gt;ctypes&lt;/code&gt;, and Windows MessageBox fallbacks&lt;/td&gt;
&lt;td&gt;A non-blocking, always-on-top popup to display the tip alongside audio for better visibility.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Orchestration&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Python 3.10+&lt;/code&gt;, &lt;code&gt;PyYAML&lt;/code&gt;, &lt;code&gt;NumPy&lt;/code&gt;, &lt;code&gt;Requests&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Config loading, timing, cooldowns, and API calls to the local Ollama instance.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Architecture &amp;amp; Implementation Details
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Heuristic First&lt;/strong&gt;: The detection logic is entirely local. SSIM is ran against downscaled, grayscale frames, only triggering an intervention if similarity is above the threshold for a configurable amount of time (~90 seconds by default).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model-Centric Tips&lt;/strong&gt;: The heuristic only answers "Has this screen changed?". The open-weight model is responsible for answering "What should I say?". A constrained system prompt is fed to Ollama alongside an optional screenshot, forcing it to output one short, calm, and non-judgemental tip.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-Blocking Design&lt;/strong&gt;: Model generation, TTS, and overlays all run asynchronously or in their own processes, allowing the capture loop to resume without stalling. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resilient Fallbacks&lt;/strong&gt;: If Piper isn't installed, it will gracefully print to console. If the overlay fails to initialize, it will fall back to a system message box or a highly visible console output, ensuring the tip is always delivered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fully Configurable&lt;/strong&gt;: All timings, thresholds, models, and cooldown ranges are exposed through &lt;code&gt;config.yaml&lt;/code&gt;, allowing for easy tuning between "real use" and "demo" modes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cooldown System&lt;/strong&gt;: After each intervention, a randomized cooldown (5-8 minutes by default) is applied to prevent nagging, embodying the "only when useful" philosophy. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The open-weight model isn't an optional add on for this project, it's the core. Without it, SlothGuard would only be a timer playing a static message. With it, a generic "stuck" signal is transformed into a contextually relevant nudge. &lt;/p&gt;

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

&lt;p&gt;A closed API version of SlothGuard would require sending screenshots containing my actual code, stack traces, terminal output, and debugging sessions to a third-party server. For something designed to run all day in the background, this was a non-negotiable privacy concern. &lt;/p&gt;

&lt;p&gt;Utilizing open-weight models locally allows for the following benefits: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;True Privacy&lt;/strong&gt;: All data is processed on-device. Screenshots, prompts, and tips never leave the machine. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Reliability&lt;/strong&gt;: It works anywhere. Trains, cafes with spotty Wi-Fi, or late nights with flaky internet are all a non-issue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Marginal Cost&lt;/strong&gt;: Once the model is pulled, SlothGuard can run for hours on end with no tokens, rate limits, or API fees to worry about.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Freedom to Tinker&lt;/strong&gt;: Anyone can swap models, iterate on the system prompt, tweak detection thresholds, or extend functionality without permission, paywalls, or vendor lock-in. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This level of autonomy, privacy, and flexibility is only possible due to the open-weight ecosystem and the tools that allow for local inference. &lt;/p&gt;

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

&lt;p&gt;The value of SlothGuard isn't measured by saving minutes on a singular task, it's measured by removing the miniscule bits of friction that add up over the course of a day. &lt;/p&gt;

&lt;p&gt;Traditionally, to get help when stuck, you have to go through a loop of: noticing you're stuck, deciding it's worth breaking flow for, switching contexts to ask an AI, formulating a prompt, and returning to your work. &lt;/p&gt;

&lt;p&gt;SlothGuard cuts all of these steps out. By the time your brain registers that you've been circling the same bug for far too long, there's already a gentle, local tip being spoken to you. It's not about automating the solution, it's about automating the moment of asking for help. Less self-monitoring, less activation energy, and just a tiny nudge exactly when it's needed. That is the lazy payoff.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Shakti: Turning Everyday Vegetable Orders into a Smarter Side</title>
      <dc:creator>Disha Khanapurkar</dc:creator>
      <pubDate>Sun, 18 Oct 2026 18:17:44 +0000</pubDate>
      <link>https://dev.to/dishakhanapurkar/shakti-turning-everyday-vegetable-orders-into-a-smarter-side-589c</link>
      <guid>https://dev.to/dishakhanapurkar/shakti-turning-everyday-vegetable-orders-into-a-smarter-side-589c</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;h1&gt;
  
  
  Shakti 🌱 — A Small Business Assistant Built for the People Who Need It Most
&lt;/h1&gt;

&lt;p&gt;What if a vegetable seller could manage customer orders, track stock, and prepare WhatsApp messages without spending hours doing everything manually?&lt;/p&gt;

&lt;p&gt;Not every small business has the budget for expensive software. Some sellers manage their entire business through handwritten notes, memory, and WhatsApp conversations.&lt;/p&gt;

&lt;p&gt;I wanted to build something that could make their day a little easier.&lt;/p&gt;

&lt;p&gt;That's how &lt;strong&gt;Shakti&lt;/strong&gt; started.&lt;/p&gt;

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

&lt;p&gt;Shakti is an AI-powered business assistant designed for small vegetable sellers who want to spend less time managing orders and more time running their business.&lt;/p&gt;

&lt;p&gt;Here's what it brings together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🥦 &lt;strong&gt;Stock management:&lt;/strong&gt; Keep track of available vegetables and quantities.&lt;/li&gt;
&lt;li&gt;💬 &lt;strong&gt;Natural-language order parsing:&lt;/strong&gt; Turn informal customer messages into structured order previews.&lt;/li&gt;
&lt;li&gt;🌍 &lt;strong&gt;Multilingual interaction:&lt;/strong&gt; Designed for everyday messages in Marathi, Hindi, English, and transliterated Marathi.&lt;/li&gt;
&lt;li&gt;👥 &lt;strong&gt;Customer management:&lt;/strong&gt; Maintain customer details and order history.&lt;/li&gt;
&lt;li&gt;📱 &lt;strong&gt;WhatsApp-ready messages:&lt;/strong&gt; Prepare personalised customer messages with click-to-send links.&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Seller confirmation:&lt;/strong&gt; Review extracted items and quantities before confirming an order.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Imagine receiving a message like:&lt;/p&gt;

&lt;p&gt;"Udya 2 kilo tomato ani 1 kilo kanda pathva."&lt;/p&gt;

&lt;p&gt;Instead of manually interpreting and rewriting the order, Shakti is designed to extract the items and quantities into a structured preview that the seller can review.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace the seller's judgement. It's to remove repetitive work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who could pay for it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Independent vegetable vendors, home-based sellers, and small produce businesses that need a lightweight way to organise orders and communicate with customers.&lt;/p&gt;

&lt;p&gt;A future business model could be a free basic tier with paid features for higher order volumes, reports, and advanced customer management.&lt;/p&gt;

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

&lt;p&gt;🎥 &lt;strong&gt;Watch Shakti in action:&lt;/strong&gt;&lt;br&gt;
At &lt;a href="https://github.com/DishaKhanapurkar/shakti" rel="noopener noreferrer"&gt;https://github.com/DishaKhanapurkar/shakti&lt;/a&gt;&lt;br&gt;
Or&lt;br&gt;
&lt;a href="https://drive.google.com/file/d/136YrImOoEITWwG1fJPeSJeUEOGMeXXco/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/136YrImOoEITWwG1fJPeSJeUEOGMeXXco/view?usp=sharing&lt;/a&gt;&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/DishaKhanapurkar/shakti" rel="noopener noreferrer"&gt;https://github.com/DishaKhanapurkar/shakti&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built with open-source tools and designed to be practical, understandable, and extensible.&lt;/p&gt;

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

&lt;p&gt;Shakti uses a Python backend built with &lt;strong&gt;FastAPI&lt;/strong&gt; and &lt;strong&gt;SQLite&lt;/strong&gt;, with a lightweight HTML, CSS, and JavaScript dashboard.&lt;/p&gt;

&lt;p&gt;The AI integration is built around &lt;strong&gt;Gemma 3 1B Instruct&lt;/strong&gt;, Google's open-weight model, using Hugging Face Transformers.&lt;/p&gt;

&lt;p&gt;Here's the architecture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; A dashboard for stock, customers, and order previews.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; FastAPI endpoints handle inventory, customer data, and order workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; SQLite stores the application's business data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI layer:&lt;/strong&gt; Gemma is integrated to interpret natural-language orders and return structured information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fallback parsing:&lt;/strong&gt; A rule-based parser provides a simpler alternative when AI parsing is unavailable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human-in-the-loop workflow:&lt;/strong&gt; The seller reviews the result before an order is confirmed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One design decision matters here: language models can misinterpret quantities, item names, or informal messages. That's why the order workflow includes seller review instead of treating every AI-generated result as automatically correct.&lt;/p&gt;

&lt;p&gt;For a small business, a confident-looking mistake can be more expensive than a little extra manual work.&lt;/p&gt;

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

&lt;p&gt;For Shakti, open innovation is about more than using a different model.&lt;/p&gt;

&lt;p&gt;It's about making useful AI more adaptable to real-world needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Language is part of the product.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Customers don't always write polished English. They use regional languages, abbreviations, mixed-language messages, and transliterated text. An open-weight model gives developers room to experiment with prompts, evaluation examples, and model configurations for these situations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Developers have more control over the AI layer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using Gemma through Transformers gives the project a model integration that can be inspected, tested, and adapted. It also creates the possibility of running inference locally after the model is downloaded, depending on the deployment and available hardware.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Cost matters to small businesses.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A tool for a small vendor needs a realistic path to affordable operation. Open-weight models give developers more flexibility to evaluate hosting costs, local inference, and deployment options instead of depending entirely on a closed AI API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Open tools make experimentation accessible.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FastAPI, SQLite, and Transformers make it possible to build and iterate on the complete application without starting with an expensive infrastructure stack.&lt;/p&gt;

&lt;p&gt;The bigger idea is simple: useful AI shouldn't be limited to businesses that can afford a large software budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Want to Improve Next
&lt;/h2&gt;

&lt;p&gt;Shakti is a starting point, not a finished business platform.&lt;/p&gt;

&lt;p&gt;My next priorities are to test order extraction against a representative set of Marathi, Hindi, English, and mixed-language messages; measure how often the model correctly identifies products and quantities; and gather feedback from actual sellers.&lt;/p&gt;

&lt;p&gt;I'd also like to explore voice-based ordering and better inventory suggestions.&lt;/p&gt;

&lt;p&gt;The most important metric won't be how impressive the AI sounds. It will be whether a seller can complete everyday work with fewer mistakes and less effort.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt; — for the Gemma-based natural-language order parsing integration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to the Hacktoberfest team and the open-source AI community for encouraging developers to build tools around real problems, not just demos.&lt;/p&gt;

&lt;p&gt;If you run a small business or know someone who sells vegetables, I'd love to hear from you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's the most repetitive task in your business that you'd want AI to take off your hands?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>GadMitra: An AI companion to explore the Sahyadris 🌿</title>
      <dc:creator>Disha Khanapurkar</dc:creator>
      <pubDate>Sun, 11 Oct 2026 16:56:06 +0000</pubDate>
      <link>https://dev.to/dishakhanapurkar/gadmitra-an-ai-companion-to-explore-the-sahyadris-ha</link>
      <guid>https://dev.to/dishakhanapurkar/gadmitra-an-ai-companion-to-explore-the-sahyadris-ha</guid>
      <description>&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;We spend hours looking at screens, watching travel reels, saving trekking destinations, and telling ourselves we'll explore them someday.&lt;/p&gt;

&lt;p&gt;I wanted to build something that could turn that &lt;em&gt;someday&lt;/em&gt; into a small adventure.&lt;/p&gt;

&lt;p&gt;Meet &lt;strong&gt;GadMitra&lt;/strong&gt; — a companion for exploring Maharashtra's Sahyadri forts, discovering local heritage, and finding reasons to step outdoors.&lt;/p&gt;

&lt;p&gt;The idea is simple: choose a fort, tell GadMitra how much time you have, and get an outdoor quest to try. It could be a short exploration, noticing details in an old fort, or taking a moment to appreciate the landscape around you.&lt;/p&gt;

&lt;p&gt;Here's what the current prototype includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏞️ &lt;strong&gt;Fort discovery:&lt;/strong&gt; Explore forts through photo-rich cards.&lt;/li&gt;
&lt;li&gt;🧭 &lt;strong&gt;Quest generation:&lt;/strong&gt; A backend-powered flow for generating outdoor activities based on your selection and preferences. AI generation is still being worked on.&lt;/li&gt;
&lt;li&gt;🎉 &lt;strong&gt;Quest completion:&lt;/strong&gt; Mark a quest complete and celebrate with a confetti animation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm also exploring photo-based quest verification, an AI companion for questions about forts and nature, and adventure collages people can share after their trips.&lt;/p&gt;

&lt;p&gt;The goal isn't to make people spend more time in another app. It's to give them a reason to put their phones away and experience the world around them.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Screenshots and demo video:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1Z7a7uprRt0OwmOmUpTj4pAx4_yvadhR0/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            Screen Recording 2026-10-11 221611.mp4 - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fdocs%2Fdoclist%2Fimages%2Fdrive_favicon_2026_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;I'll share a walkthrough of the fort selection, quest flow, and completion celebration here.&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/DishaKhanapurkar/GadMitra" rel="noopener noreferrer"&gt;https://github.com/DishaKhanapurkar/GadMitra&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built with Angular, FastAPI, and Python.&lt;/p&gt;

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

&lt;p&gt;GadMitra uses &lt;strong&gt;Angular&lt;/strong&gt; for the frontend and &lt;strong&gt;FastAPI&lt;/strong&gt; for the backend.&lt;/p&gt;

&lt;p&gt;The frontend lets users explore forts, select a destination, and interact with the quest flow. The backend exposes API endpoints for fort information and quest requests.&lt;/p&gt;

&lt;p&gt;I also experimented with Hugging Face Inference Providers for AI-powered quest generation. I ran into a practical challenge: the available inference credits were exhausted, so I still need to resolve the model-inference setup.&lt;/p&gt;

&lt;p&gt;Rather than hide that limitation, I'm treating it as part of the learning process. I want to make the AI component reliable and accessible without making the entire outdoor experience dependent on a paid API.&lt;/p&gt;

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

&lt;p&gt;Outdoor exploration shouldn't need an expensive subscription or a complicated setup.&lt;/p&gt;

&lt;p&gt;Open-source tools make it possible to experiment with AI, understand how the pieces fit together, and adapt the experience to local needs.&lt;/p&gt;

&lt;p&gt;For GadMitra, that means building around a place and culture I want to highlight: Maharashtra's forts and the Sahyadri landscape.&lt;/p&gt;

&lt;p&gt;It also means other developers can contribute new forts, improve quest generation, add languages, or build features that make outdoor exploration more accessible.&lt;/p&gt;

&lt;p&gt;I'd love to see this grow beyond a prototype into something that helps more people discover the places around them.&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%2Fxitozux0ojgzn5evpput.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%2Fxitozux0ojgzn5evpput.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&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%2Fx5wewqyouxq45kaiqseq.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%2Fx5wewqyouxq45kaiqseq.png" alt=" " width="799" height="366"&gt;&lt;/a&gt;&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%2F9wag3t2x7p5mourystn6.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%2F9wag3t2x7p5mourystn6.png" alt=" " width="800" height="181"&gt;&lt;/a&gt;&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%2F9u6l9nwcvpozqsryatwj.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%2F9u6l9nwcvpozqsryatwj.png" alt=" " width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Optional — I'll add a DevRelay session link if I capture one.&lt;/p&gt;

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

&lt;p&gt;No additional partner prize category claimed at this stage.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;GadMitra 🌿 — A little less scrolling. A little more exploring.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What would get you outdoors more often: discovering hidden places, learning local history, or completing small nature quests?&lt;/p&gt;

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