{
  "id": 15943697,
  "title": "Sloth Sorter: A Local AI That Organizes Your Messy Folders, Slowly (Gemma 3 + Ollama)",
  "url": "https://urgent.news/2026/10/21/sloth-sorter-a-local-ai-that-organizes-your-messy-folders-slowly",
  "topic": "ai",
  "section": "AI",
  "published": "2026-10-21T20:07:29.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/anushdeotare11/sloth-sorter-a-local-ai-that-organizes-your-messy-folders-slowly-gemma-3-ollama-9n5"
  },
  "original_language": "en",
  "account": "Sloth Sorter is a local web application designed to organize messy folders by utilizing a slow and steady approach. This tool, built by Anush Deotare, processes files one by one, ensuring that your laptop's GPU is not overwhelmed. Sloth Sorter uses Gemma 3:4B, a local multimodal AI model, to identify file types and propose clean names and categories for the files. The application works offline, meaning that all processing takes place on your device and no data is transmitted to external servers.\n\nWhen a user points Sloth Sorter at a disorganized folder, the local AI model examines each file and determines its content. Based on this analysis, the model suggests a suitable name and categorizes the file accordingly. For instance, a document named \"final_final_v2.docx\" might be renamed to \"nexus-labs-design-agreement\" and moved into the \"Documents\" folder. Similarly, a screenshot might be placed in the \"Screenshots\" folder.\n\nTo ensure a smooth user experience, Sloth Sorter operates at a deliberate pace, processing files one at a time with brief pauses between each. This allows the application to run smoothly on laptops with limited resources, such as the NVIDIA GeForce RTX 3050 Laptop GPU with 4GB of VRAM and 16GB of RAM. The entire process is logged, enabling users to undo any changes with a single click.\n\nThe open-source nature of Sloth Sorter means that the local Gemma 3:4B model is responsible for the sorting and categorization. The application uses FastAPI for the backend and serves the progress to a vanilla JavaScript front end using Server-Sent Events. Pillow, pypdf, and python-docx handle the extraction of text from PDFs, DOCX files, and images. The model's output is constrained by a JSON-schema, ensuring that the proposed categories are limited to predefined options and that the model doesn't produce overly verbose or inaccurate responses.\n\nIn the first round of testing on a 26-file sample set, Sloth Sorter experienced 10 fallbacks, which were mostly due to a dependency issue with different Python versions on the server. These issues were resolved by adding a dependency check to the health endpoint and refining the model's output. After these adjustments, the application achieved a 96.2% category agreement rate and only one instance of an incorrect file categorization, which was later addressed by removing date-related context from the model's responses.\n\nSloth Sorter emphasizes the importance of open innovation by processing files locally with an open-weight model. This ensures that sensitive information remains within your device and that the tool is completely free after setup. Moreover, the model can be easily swapped out, allowing users to experiment with different Ollama models if desired. The application has been successfully tested on laptops with modest specifications, proving that it can function effectively even on devices with limited processing power.",
  "summary": "This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady What I Built Everyone has that folder. Mine is full of Screenshot 2026-10-21 at 3.12.png , final_final_v2.docx and IMG_4821.jpg , and I have been \"going to sort it\" for months. Sloth Sorter is a local web app that does the sorting for me. I point it at a messy folder, and a local AI model looks at each…",
  "key_points": [
    "Sloth Sorter is a local web app organizing folders using Gemma 3:4B AI model",
    "Deliberate processing ensures GPU isn't overwhelmed, works offline",
    "96.2% category agreement after testing on 26-file sample set"
  ],
  "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."
}