{"slug": "slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself", "title": "SlothDesk 🦥: You Do Nothing. Your Desktop Clutter Sorts, Renames, and Audits Itself", "summary": "A developer built SlothDesk, an open-source background daemon that automatically sorts, semantically renames, and audits cluttered desktop and Downloads folders using a local Gemma 3 4B vision/text model served through Ollama's REST API. The pipeline verifies files by magic-byte headers, hashes them with SHA-256 before and after an atomic move into a standardized vault, and generates an ambient morning audio digest via ElevenLabs text-to-speech. The project was submitted to the Hacktoberfest Open-Source AI Challenge Week 3 and is deployed as a containerized FastAPI/Next.js stack on Render with a 10GB persistent disk.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady](https://dev.to/challenges/hacktoberfest-week3-2026-10-19)*\n\nEvery modern knowledge worker dreads the **Downloads and Desktop Black Hole**. Over days and weeks, our workspaces accumulate hundreds of cryptically named files:\n\n`Screenshot_2026-03-12_at_11.23.41.png`` INV_82910_final(1).pdf``receipt_unnamed.jpg`` analytics_churn_export_raw(3).csv``mutual_nda_acme_unsigned.pdf`\nOrganizing them manually requires opening each file, deciphering invoice numbers, typing dates, creating nested folders, resolving duplicate collisions, and dragging files — wasting **3+ hours every month**.\n\n**SlothDesk 🦥** is an autonomous ambient background daemon that operates at a calm, deliberate **\"Sloth Pace\"**. As chaotic downloads hit your drop zone:\n\n`MZ`, `ELF`) into a quarantined vault.` 2026-10-18_GitHub_Enterprise_Invoice_$21.pdf`).`/docs` on the backend.\n**\"You do nothing. Your desktop clutter sorts, renames, and audits itself.\"**\n\n*Built for Hacktoberfest 2026 Open-Source AI Challenge — Week 3: \"Slow and Steady\" (International Sloth Day).*\n\n| Partner Track | Implementation Highlight | Technical Proof | \n|---|---|---|\n| **Best Use of Gemma** ($200) | Autonomous local **Gemma 3 (4B Vision/Text)** multimodal pipeline via Ollama REST API with deterministic structured JSON schemas. Extracts entities, vendors, amounts, dates, and assigns standardized semantic names (`YYYY-MM-DD_Vendor_Subject.ext` ). Zero cloud surveillance. | [`classifier.py`](https://github.com/vannu07/SlothDesk/backend/app/services/classifier.py) | \n| **Best Use of Render** ($200) | Production containerization via multi-stage non-privileged Docker image ( `UID 10001` ), 10GB persistent disk mount`/app/data` , zero-downtime health probes (`/api/health/live` ,`/api/health/ready` ), and 1-click blueprint. | [`render.yaml`](https://github.com/vannu07/SlothDesk/render.yaml) &[` Dockerfile`](https://github.com/vannu07/SlothDesk/backend/Dockerfile) | \n| **Best Use of ElevenLabs** ($100) | Ambient sleepy morning audio digest narrated via ElevenLabs text-to-speech ( `George` /`JBFqnCBsd6RMkjVDRZzb` warm voice) with custom interactive waveform scrubber and audio synthesis fallback. | [`voice_digest.py`](https://github.com/vannu07/SlothDesk/backend/app/services/voice_digest.py) &[`MorningBriefPlayer.tsx`](https://github.com/vannu07/SlothDesk/frontend/src/components/MorningBriefPlayer.tsx) | \n| **Best** |  |  | \n\n`os.path.commonpath`).`%PDF`, `PNG`, `JFIF`, `RIFF/WEBP`).`#090a0f`, titanium borders `#1e2230`, subtle emerald and warm amber status lights).` render.yaml`) with 10GB persistent disk storage and zero-downtime health probes (`/api/health/live`, `/api/health/ready`).` vercel.json`) linking Next.js and FastAPI with internal service bindings (`INTERNAL_BACKEND_URL`).\n\n``` php\nflowchart TD\n    A[Chaotic Desktop & Downloads] --> B[Magic Byte Header Guard]\n    B --> C[Pre-Move SHA-256 Hash]\n    C --> D[Gemma 3 4B Multimodal Classifier]\n    D --> E[Semantic Renamer & Collision Resolver]\n    E --> F[Atomic Move to Standardized Vault]\n    F --> G[Post-Move SHA-256 Proof Verification]\n    G --> H[ElevenLabs Morning Audio Briefing]\n    G --> I[Live Audit Log & Manifest Export]\n```\n\nYour downloads folder contains your most sensitive personal data: tax returns (`W-2`, `1099`), medical receipts, bank statements, client NDAs, and private codebase screenshots. \n\nSending all of these unvetted files to closed, proprietary cloud APIs exposes users to data harvesting, cloud surveillance, and third-party data breaches.\n\n**Open innovation makes privacy-first desktop automation possible**:\n\nNormally, an organized desktop requires:\n\n**Total manual effort**: ~1 minute per file. Across 180 files accumulated in a month, that is **3 full hours of tedious, dreaded manual chore**.\n\n**With SlothDesk**:\n\nSlothDesk runs on-device **Gemma 3 (4B Vision/Text)** through an Ollama REST pipeline with strict JSON schema enforcement. Gemma inspects visual UI captures and textual document previews to infer structured metadata (`vendor`, `date`, `amount`, `topic`), assigning standardized ISO-8601 semantic names and sorting items into dedicated vaults.\n\nContainerized deployment with a multi-stage production Dockerfile running as non-root `appuser` (UID 10001). SlothDesk utilizes Render's **Persistent Disk** (`/app/data`) to preserve sorted file vaults across redeploys, accompanied by zero-downtime health probes (`/api/health/live`, `/api/health/ready`) defined in `render.yaml`.\n\nSlothDesk leverages the **ElevenLabs API** to synthesize an ambient, sleepy morning brief narrated by a warm voice (`JBFqnCBsd6RMkjVDRZzb`). Paired with a bespoke waveform scrubber in the Next.js frontend, users can wake up, listen to their clutter briefing at 0.75x \"Sloth Speed\", and inspect what the daemon sorted while they slept.\n\nConfigured with production DNS mappings for **`https://slothdesk.tech`** and `https://api.slothdesk.tech`, hardened with strict security headers (CSP, HSTS, X-Frame-Options: DENY) and CORS origins.", "url": "https://wpnews.pro/news/slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself", "canonical_source": "https://dev.to/vannu07/slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself-2lp5", "published_at": "2026-10-25 09:03:48+00:00", "updated_at": "2026-10-25 09:12:57.661775+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-tools", "large-language-models", "ai-agents", "developer-tools"], "entities": ["SlothDesk", "Gemma 3", "Ollama", "ElevenLabs", "Render", "Hacktoberfest", "FastAPI", "Next.js"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself", "markdown": "https://wpnews.pro/news/slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself.md", "text": "https://wpnews.pro/news/slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself.txt", "jsonld": "https://wpnews.pro/news/slothdesk-you-do-nothing-your-desktop-clutter-sorts-renames-and-audits-itself.jsonld"}}