Open-source AI · runs entirely on your machine

🦥 Sloth Sort — the file tidier that works while you do literally anything else

A lazy little agent with an open-weight brain. It reads your messiest folder, asks a 397 MB local model where each file belongs, and files everything in small shifts — napping in between. No cloud. No subscription. No deletions. Ever.

A sloth calmly organizing files into folders, flat illustration

● What effort does it save?

Manual triage of a month-old Downloads folder is 15–25 minutes of pure tedium: open, skim, decide, drag, rename. Sloth Sort does a 24-file folder in about 65 seconds — then keeps doing it at 2am every night on a cron job you set up once and never think of again.

Before:

1password-backup-2019.txt     invoice_INV-2204_final_FINAL (2).pdf
Screenshot 2025-10-02 .png    rental_agreement_signed.pdf
api_keys_OLD_ROTATED.json     tax_summary_2024.pdf   tmp9F31.tmp …

After $ python3 sloth_sort.py apply ~/Downloads --pace 8

Finance/receipts · statements · tax summary
Documents/lease · letters · that recipe     Notes/todo · lecture · standup
Photos/  Screenshots/  Code/  Software/
_archive/stale password export · rotated API keys · tmp junk

● Where it came from

Built in one session for the DEV Hacktoberfest Open-Source AI Challenge — Week 3: “Slow and Steady”. The demo folder above was generated, sorted, un-sorted (undo), and re-sorted live in a tiny 2-core sandbox; unedited logs ship in demo/*.log.

🎧 75-second narrated walkthrough

● Why open — here, specifically the whole point

🔒 Privacy is physics

The folder held a tax summary and a password export. Local inference means they can’t “leak” — nothing ever leaves the machine.

✈️ Works offline, forever

After one 397 MB download, it sorts on planes, in blackouts, anywhere. Hygiene shouldn’t depend on signal bars.

🪙 $0, constitutionally

Nightly, on every machine you own: still free. Idle CPUs you already have, not tokens you rent.

🧠 Swappable brain

One flag to trade up to a bigger model — or fine-tune the small one on your definition of tidy. No vendor roadmap.

🔍 Auditable

The entire decision loop — prompt, categories, fallbacks — is ~450 lines you can read in one sitting.

🦥 Honest pace

~2.5 s per file on 2 cores. Slow, steady, reproducible (temperature=0, pinned local weights).

● Try it in two minutes

$ollama pull qwen2.5:0.5b-instruct # one-time, ~400 MB
$python3 sloth_sort.py scan ~/Downloads --pace 10 # dry run — always first
$python3 sloth_sort.py apply ~/Downloads --pace 8 --siesta 2
$python3 sloth_sort.py undo ~/Downloads # regret insurance

Night shift, the truly lazy way: 0 2 * * * cd ~/sloth-sort && python3 sloth_sort.py apply "$HOME/Downloads" --pace 8 --siesta 2