This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
Let’s be honest: everyone’s Downloads and Desktop folders are digital graveyards filled with Screenshot 2026-10-19 at 14.22.10.png, final_v2_REAL(1).pdf, and notes_untitled_44.txt. We all swear we’ll organize them "this weekend," and we never do—because opening hundreds of mystery files just to rename and file them away takes way too much energy.
Enter SlothSort 🦥—an open-source, 100% local, CPU-aware file and screenshot tidier built for maximum human laziness.
Instead of hogging your machine’s resources or blasting fan noise while you work, SlothSort behaves like an actual sloth:
-
It Naps When You Work ("Sloth Pacing"): It constantly monitors your system CPU load. If you're actively coding, gaming, or browsing and CPU usage crosses a calm threshold (default
35%), SlothSort goes straight to sleep. -
Slow & Steady Local Inference: Only when your machine is idle does SlothSort wake up, pick up one single file at a time, inspect its contents using local open-weight models via Ollama, rename it cleanly in
snake_case, and tuck it into a neat category folder (Finance_And_Bills,Study_And_Papers,Code_And_Tech,Screenshots_And_Media,Personal_And_Docs, orMisc_Archive). -
The "Lazy Undo" Ledger: Even too lazy to double-check what the AI moved? Every single file operation is recorded in a local JSON ledger (
sloth_history.json) with a 1-sentence summary of what was inside the file and a 1-click Undo button that teleports the file right back to its messy original name and location.
Anyone who hoards lecture PDFs, receipts, code snippets, and random screenshots gets to be effortlessly lazy—your folders organize themselves while you grab coffee.
Demo
🌐 Live Interactive Web Demo ("The Lazy Control Panel"):
👉 https://srinjoyeegoswami.github.io/SlothSort/
In the live dashboard, you can test the Sloth Meter (CPU load threshold & nap state), generate a sandbox of realistic messy files with one click (Generate Messy Demo Folder), watch the local agent inspect and sort files one by one, and test the 1-Click Undo ledger in real time.
Code
🦥
SlothSort
Slow & Steady file organizer — 100% local, AI-powered, resource-aware
🦥 What is SlothSort?
SlothSort is an open-source, 100% local, resource-aware file organizer that uses AI to tame your messy Downloads folder — without ever sending a single byte to the cloud.
It runs quietly in the background like a literal sloth:
- Checks CPU load before doing any AI work (never lags your laptop)
- Processes one file at a time with naps in between ("Slow and Steady")
- Uses local open-weight models via Ollama for understanding files
- Renames files cleanly and sorts them into categorized folders
- Maintains a 1-click "Lazy Undo" ledger to reverse any action
✨ Key Features
Feature
Description
🧠 Dual-Model AI
llama3.2:3b for text/documents, moondream for screenshots
🏠 100% Local
All inference runs on
localhost:11434 via Ollama
📊 Sloth Pacer
CPU/RAM monitoring — only works when your machine is idle
📂 Smart Categories
Finance, Study, Code,
Repository Link: https://github.com/srinjoyeegoswami/SlothSort
How I Built It
SlothSort is built around a dual-model local open-source AI pipeline connected to a lightweight Python daemon and a cozy React control panel:
-
Local Open-Weight Models (via Ollama):
-
Text & Document Brain (
llama3.2:3b): Reads the first 1,000 characters of text files, code scripts, or Page 1 of PDFs to infer the document's true subject without blowing up the context window. -
Vision & Screenshot Brain (
moondream): Inspects unlabelled.pngand.jpgscreenshots to figure out what is actually on screen (ui_bug_console_error.pnginstead ofScreenshot (482).png).
-
Text & Document Brain (
-
Structured JSON Enforcement: By passing a strict Pydantic/JSON schema to Ollama's
/api/generateformatparameter, the local models are forced to return deterministic JSON (clean_name,category,summary, andconfidence) rather than conversational prose—preventing broken filenames. -
The Sloth Pacer (
psutil+ FastAPI): A Python background loop checkspsutil.cpu_percent(). If the laptop is busy, it enters Nap Mode. When idle,pypdfandPillow(which resizes screenshots in-memory to max640pxfor 4x faster local vision inference) extract minimal context and pass it tolocalhost:11434. -
Safe File Mover & Ledger: Built with Python's
pathlibandshutil, preserving original file extensions, automatically preventing filename collisions (_1,_2), and writing every transaction tosloth_history.json. - Frontend ("The Lazy Control Panel"): Built with React, Vite, Tailwind CSS, and Lucide-React, featuring a live CPU Sloth Meter, an offline sandbox generator for instant testing, and an interactive activity feed with instant undo controls.
Why Does Open Innovation Matter?
A background file organizer is the ultimate proof case for why open-weight, local AI beats closed cloud APIs:
-
Uncompromising Privacy for Sensitive Files: Think about what actually sits in a real
DownloadsorDesktopfolder—bank statements, tax PDFs, academic transcripts, ID scans, medical bills, and private screenshots. Piping your personal filesystem automatically into a closed, third-party cloud API is a massive privacy nightmare. Because SlothSort runs open-weight models strictly onlocalhost:11434, zero bytes of your personal files ever leave your laptop. - Set It Once, Pay $0 Forever: An automation tool that watches your folders 24/7/365 shouldn't come with token anxiety, rate-limit errors, or a monthly API bill. Running local open weights makes infinite laziness 100% free.
-
True Offline Autonomy & Hardware Control: Whether you're on a plane, on flaky campus Wi-Fi, or working completely offline, SlothSort keeps tidying in the background. And because the stack is open, you can hot-swap
llama3.2:1bon an older laptop or upgrade toqwen2.5:7bon a workstation with a single config tweak.
My Agent Session
I used an AI coding workflow in VS Code / Antigravity to scaffold the monorepo architecture, wire up the FastAPI + Ollama structured output schemas, and build the interactive React sandbox mode so anyone can test the Sloth Pacer right in their browser.
The Lazy Payoff
Before running SlothSort this week, my Downloads folder had accumulated dozens of cryptic PDFs (1704.05862v2.pdf, syllabus_final_updated(2).pdf) and unnamed screenshots from hackathon debugging sessions.
Instead of spending 45 minutes manually opening each PDF and screenshot to figure out what was worth keeping, I let SlothSort nap in the background while I worked on coursework. Every time I stepped away or my CPU dropped below 35%, it quietly woke up and filed a few items away. By the end of the evening, my research papers were neatly named inside Study_And_Papers/, my debugging screenshots had readable names inside Screenshots_And_Media/, and I didn't have to lift a finger.
Prize Categories
-
Slow and Steady (Week 3 Challenge Prompt) — Built around open-weight local models (
llama3.2:3b&moondreamvia Ollama) to automate a dreaded chore at a literal sloth's pace.
Top comments (0)