cd /news/ai-agents/a-buddy-that-helps-you-before-procra… · home › topics › ai-agents › article
[ARTICLE · art-156913] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

A buddy that helps you before procrastination gets you.

A developer built SlothGuard, an open-source ambient agent that captures low-resolution screenshots every few seconds, uses SSIM comparison in scikit-image to detect when the screen has barely changed, and then asks a local open-weight model via Ollama (moondream or gemma2:2b) for a short tip delivered through offline Piper TTS and a non-blocking on-screen overlay. The project runs entirely on local tooling — mss, Pillow, tkinter and Python — to avoid sending code, stack traces and terminal output to a third-party API.

by read3 min views11 publishedOct 24, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

SlothGuard is an ambient local agent that quietly watches your screen and only speaks up when you appear stuck.

Most AI tools force you to break focus: select text, switch windows, write a prompt, and wait.

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.

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.

 https://github.com/tan-byte/slothguard

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.

Component Tool(s) Used Purpose
Screen Capture mss +Pillow Fast, cross-platform, and low-resolution captures to minimize CPU usage.
Stagnation Detection scikit-image (SSIM) Compares perceptual similarity between grayscale, downscaled frames to detect when the screen has stayed nearly identical.
Local Inference Ollama withmoondream (preferred) orgemma2:2b Generates a short, context-aware tip based off of the "stuck" signal. Vision capable models can utilize a cropped screenshot for better context.
Text-to-Speech Piper TTS (en_US-lessac-medium ) Completely offline, neural TTS to audibly deliver the tip.
On-Screen Overlay tkinter ,ctypes , and Windows MessageBox fallbacks A non-blocking, always-on-top popup to display the tip alongside audio for better visibility.
Orchestration Python 3.10+ ,PyYAML ,NumPy ,Requests Config , timing, cooldowns, and API calls to the local Ollama instance.

config.yaml, allowing for easy tuning between "real use" and "demo" modes. 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.

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.

Utilizing open-weight models locally allows for the following benefits:

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

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.

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.

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.

── more in #ai-agents 4 stories · sorted by recency
── more on @slothguard 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/a-buddy-that-helps-y…] indexed:0 read:3min 2026-10-24 · —