This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
I built SpudBot, a heavily sarcastic, locally-hosted desktop assistant that aggressively ensures you step away from your screen.
SpudBot starts as a tiny, cutesy potato icon sitting quietly on your desktop. But if you spend too much uninterrupted time staring at your laptop, SpudBot gets angry. It enlarges to 5x its original size and starts relentlessly guilt-tripping you with unique, AI-generated taunts about your lack of vitamin D and social life.
If you ignore the taunts and refuse to get up, SpudBot escalates. It will start messing with your Windows environment—randomly dimming your screen brightness, locking your touchpad, or straight-up closing a random window. It’s built for any developer who loses track of time and needs a (literally) disruptive push to close the lid and finally touch grass.
Demo
Code
SpudBot · the guilt-trip potato
A small desktop companion with increasingly large opinions about your screen time Built for Windows with Python 3.10+ and Tkinter. All three placeholder potato sprites are drawn in code: no image downloads, icon packages, accounts, or API keys needed.
Run
Install Python from python.org with Tcl/Tk support (included in the regular installer). In this directory:
python -m spudbot
Or double-click launch.bat. No Python packages are required for the core app.
python -m spudbot --demo
Demo runs at 60× speed: default moods change after 30 and 60 real seconds. Every OS effect is simulated, even if enabled in preferences. Manual breaks still use real minutes. Switching demo on/off starts a fresh session.
Local AI
Install Ollama, then download a model once:
ollama pull llama3.2:1b
Start the Ollama desktop application (or ollama serve if it isn't already running)
Choose the…
How I Built It
SpudBot is built entirely in Python, utilizing local OS libraries (pyautogui, psutil, ctypes) to monitor screen time and manipulate the Windows environment.
At its core, SpudBot relies on local open-weight models (like qwen3:8B) running locally via Ollama. Instead of relying on pre-written strings, the Python script feeds your current session duration and active window context to the local LLM, wrapped in a strict system prompt instructing it to act as an increasingly unhinged, sarcastic potato. This ensures every taunt is unique, contextual, and perfectly tailored to bully you into going outside.
Why Does Open Innovation Matter?
For a project like this, open innovation isn't just a bonus; it’s a requirement.
Privacy: SpudBot constantly monitors active screen time, idle states, and potentially active window names. Sending this constant stream of personal desktop metadata to a closed-API server (like OpenAI or Anthropic) is a massive privacy risk. Open-source local inference guarantees my data never leaves my machine.
Offline Capability: A true "Touch Grass" app shouldn't break when you lose Wi-Fi. SpudBot runs perfectly off-grid on a laptop.
No Safety Filters on Sarcasm: Closed models often flag aggressive sarcasm or "mean" personas under their safety guardrails. Using an open-weight model allows me to fully tune the potato's unhinged, guilt-tripping personality without hitting corporate API filters.
Cost: Running a local background process that constantly generates text costs absolutely $0.
Built in collaboration with @minioncodes
Top comments (0)