Sloth: lazy tools that run locally, with open-source AI at the core
Submission Template
- Project: Sloth, a pair of lazy tools that run entirely on your own machine
- What it does: Sloth Tidy sorts a messy folder by what files are about, and Sloth Summary turns an overnight group chat into a short morning digest
- Open-source AI at the core: sentence-transformers/all-MiniLM-L6-v2, an open-weight embedding model, run locally on CPU
- Prize Categories: Overall prize only, no partner category claimed
- Code: Full Python code, README, and demo data for Sloth, as described in this post
- Demo: see the demo output section below, from a real run on fictional sample files
The lazy payoff
I built Sloth for the laziest version of myself. I do not want to stand with a folder open, deciding where each file belongs. I do not want to scroll through a hundred overnight messages before coffee. Sloth does both jobs while I do nothing: tidy a folder by content, and hand me a two-line digest in the morning.
Sloth Tidy reads text files, embeds them locally, and compares them with category descriptions. If the match is confident, the file moves. If it is not, the file goes to misc, because a lazy tool that guesses wrong is worse than one that asks. Sloth Summary embeds every chat message locally, finds the centre of the conversation, and quotes the two most central messages. It never invents a meeting time or a decision, because a morning summary that hallucinates is not lazy, it is dangerous.
Why open innovation matters for what I built
The open piece is what makes Sloth work, not a label on top of it.
First, privacy. A closed summariser would need my group chats uploaded to a server. A closed file sorter would need my documents uploaded too. Sloth never sends either anywhere, because the model runs on my laptop.
Second, cost. Once the 80 MB model is downloaded, Sloth costs nothing to run, for as many folders and chats as I like. There is no per-message bill for being lazy.
Third, control. I can swap the embedding model by changing one name in the code. No vendor can change the behaviour, raise the price, or shut off the tool I rely on every morning.
Fourth, offline use. Sloth works on a laptop with no internet, which is exactly when a slow, steady, do-it-for-me tool should still work.
That is where open beats closed for this project: the closed version would be faster to build, but it would trade away the privacy, cost, and control that make a personal automation tool worth trusting.
How I built it
Sloth is Python, with two commands sharing one embedder module. The tidy tool plans every move and prints a confidence score, with a dry-run mode that moves nothing. The summariser parses a chat export, drops system lines, and uses centroid-based extractive summarisation. The sample chat and files in the demo are fictional, so no real personal messages are included.
Demo output
Verified on sample data, with a local model, no server involved.
Tidy run, all four files sorted correctly:
moved: app-idea.txt -> ideas/ (confidence 0.64)
moved: grocery-receipt.txt -> receipts-and-bills/ (confidence 0.52)
moved: lab-report-draft.txt -> assignments/ (confidence 0.38)
moved: photosynthesis-notes.txt -> study-notes/ (confidence 0.18)
Summary run:
Overnight digest: 7 messages from Arjun, Meera, Priya.
- Priya: trimming the demo video is the main thing left before rehearsal
- Arjun: great, then we meet at 10 tomorrow and run the full demo rehearsal
The sample chat and files are fictional, written for this demo.
What I would do next
Add a bigger local model option for trickier files, support PDF text extraction, and schedule the summariser to run overnight so the digest is waiting when I wake up.
Top comments (0)