Sloth Sort: I let a local AI clean my Downloads folder so I never have to
This is a submission for the Hacktoberfest Open-Source AI Challenge: Week 3 — Slow and Steady . What I Built Everyone has a Downloads folder like this: download.pdf download (1).pdf scan0003.pdf Document.pdf e-ticket_8F3K2.pdf statement_092026.pdf untitled.md notes.txt export.csv Screenshot from 20

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥
This is a submission for the Hacktoberfest Open-Source AI Challenge: Week 3 — Slow and Steady.
Everyone has a Downloads folder like this:
download.pdf download (1).pdf scan0003.pdf Document.pdf e-ticket_8F3K2.pdf statement_092026.pdf untitled.md notes.txt export.csv Screenshot from 2026-10-02 21-14-07.png project-final-FINAL.zip code-1.105.0-amd64.deb lecture-recording.mp4 … Enter fullscreen mode Exit fullscreen mode Somewhere in there is the bill you need to pay, the internship offer you need to sign, and the flight ticket you'll be frantically searching for at the airport gate. Cleaning it up means opening every download (1).pdf to find out what it is. So nobody does.
Sloth Sort does it for you. It's a small command-line tool:
sloth-sort plan ~/Downloads # look at everything, decide, move nothing sloth-sort apply ~/Downloads # do exactly what you just reviewed sloth-sort undo ~/Downloads # put it all back Enter fullscreen mode Exit fullscreen mode The interesting part is that it reads your documents and gives them names a human would search for, using Gemma 3 1B running on your own machine.
This is real output from my test folder of 19 made-up files (the repo has a script that generates the same folder, so you can try it safely):
📁 Documents/Bank & Finance/ statement_092026.pdf → 2026-10 Riverbank Savings Account.pdf ✨ 📁 Documents/Bills & Receipts/ download.pdf → 2026-10 Sunrise Telecom Tax Invoice.pdf ✨ export.csv → 2026-10 Groceries & Electricity Bills.csv ✨ 📁 Documents/Health/ Document.pdf → Paracetamol Dosage.pdf ✨ 📁 Documents/Study/ download (1).pdf → Normalization Database Management Systems.pdf ✨ untitled.md → Paging and Segmentation.md ✨ 📁 Documents/Travel/ e-ticket_8F3K2.pdf → Pune to Bengaluru flight ticket.pdf ✨ notes.txt → Goa Trip Essentials.txt ✨ 📁 Documents/Work & Career/ scan0003.pdf → Brightleaf Software Internship Offer.pdf ✨ 📁 Screenshots/2026-10/ Screenshot from 2026-10-02 21-14-07.png Screenshot from 2026-10-11 09-02-55.png … 19 files planned (9 read by Gemma ✨, the rest by type) in 19s. Nothing has moved yet.
Enter fullscreen mode Exit fullscreen mode Then apply moved all 19, and undo put every one of them back exactly where it was. I checked that by comparing a hash of the file list before and after.
Tidy a messy Downloads folder with an open-weight model that runs on your own machine It reads your documents, files them into sensible folders with names you can actually search for, shows you the plan, and only moves things when you say so. One command undoes it all.
Built for the Hacktoberfest Open-Source AI Challenge, Week 3: Slow and Steady.