{
  "id": 15992339,
  "title": "Lazy Tidier: I Taught an Open-Weight Model to Clean My Downloads Folder",
  "url": "https://urgent.news/2026/10/22/lazy-tidier-i-taught-an-open-weight-model-to-clean-my-downloads-folder",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-22T03:21:31.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/malishoaib0/lazy-tidier-i-taught-an-open-weight-model-to-clean-my-downloads-folder-4flh"
  },
  "original_language": "en",
  "account": "This article documents a Python command-line interface (CLI) tool called \"Lazy Tidier\" that organizes a user's Downloads folder into tidy categories. The creator built the tool after growing frustrated with manually sorting through a disorganized folder full of PDFs, text files, and other miscellaneous downloads.\n\nLazy Tidier uses simple file extension rules to categorize obvious files like images, videos, archives, and installers, without needing any artificial intelligence (AI). More ambiguous file types like PDFs and text documents are sent to an open-weight language model for categorization. The tool prints out a preview of all planned changes before making any actual moves.\n\nKey features of Lazy Tidier include:\n- Rules based on file extensions to sort obvious file types instantly\n- Open-weight LLM (language model) only for ambiguous files\n- Dry-run mode by default that prints out the planned changes without making any alterations\n- Ability to actually move the files with the \"--apply\" flag\n- Undo the last set of changes with the \"--undo\" flag\n- Files containing sensitive words like \"bank\", \"cv\", \"resume\", etc. are kept local and never sent to the model\n- Sanitizer to block path traversal attacks and disallowed characters\n- Undo log records every move so files can be restored\n- Privacy guard ensures sensitive file names aren't sent to the model\n- Works with hosted open-weight models like Llama 3.1 8B on Groq, and can swap to other providers or local models\n\nThe creator provides a simple setup process:\n1. Clone the repo and enter the directory\n2. Create and activate a virtual environment\n3. Install dependencies\n4. (Optional) Copy .env.example to .env and add your API key\n\nThree commands cover everything:\n- `python main.py --folder test_downloads` for a dry-run\n- `python main.py --folder test_downloads --apply` to actually move the files\n- `python main.py --folder test_downloads --undo` to restore everything\n\nThe tool's code is well-tested with 47 pytest tests covering things like filename safety, collisions, privacy matching, and JSON parsing. The AI integration is easily swappable by changing a single line in the .env file, preserving privacy and allowing for local inference later without code changes.\n\nOverall, Lazy Tidier automates the file organization process, giving users a quick and safe way to declutter their Downloads folders without having to manually sort through messy files.",
  "summary": "This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady TL;DR: Lazy Tidier is a Python CLI that sorts a messy folder using simple rules first and an open-weight model only for ambiguous files. It previews every change before touching anything, and it can undo what it did. What I Built My Downloads folder is a mess of IMG_2031.pdf , final_final(1).txt and…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}