DEV Community

Harish S T
Harish S T

Posted on

🦥 SlothSort — Slow Down, Sort Smarter

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

What I Built

🦥 SlothSort — Slow Down, Sort Smarter

Have you ever opened your Downloads folder and found a chaotic mix of PDFs, screenshots, videos, ZIP files, and code files? I built SlothSort, a local AI-powered file organizer designed to help bring order to that chaos.

SlothSort scans a dedicated sample folder and uses AI to suggest categories such as Documents, Images, Videos, Audio, Archives, Code, and Other.

But here’s the important part: SlothSort suggests; you stay in control.

It generates a preview of the suggested categories, explains why a file was classified, flags uncertain results for review, and lets users manually adjust categories before taking any action.

Currently, SlothSort is a safe, preview-only prototype. It does not automatically move, rename, or delete files.

Demo

🎬 Watch the demo: https://youtu.be/tEevBQMDpMk

The demo showcases the file scanning workflow, AI-powered classification preview, and manual category editing.

Code

💻 GitHub repository: https://github.com/harishhardik/SlothSort

The project is built with React, TypeScript, Python, FastAPI, and Ollama for local AI inference.

Contributions, feedback, and ideas are welcome!

How I Built It

I built SlothSort around Ollama and the open-weight Qwen2.5 1.5B model, running locally instead of relying on a hosted AI API.

Here’s the stack:

  • React + TypeScript + Vite: Interactive dashboard and file classification review.
  • Python + FastAPI: Backend API for scanning files and generating classification previews.
  • Ollama + Qwen2.5 1.5B: Local inference for AI-assisted categorization.
  • Lucide React: Icons for the dashboard interface.

The workflow is straightforward:

  1. Scan files in a dedicated sample directory.
  2. Send filenames and extensions to the local AI model for classification.
  3. Validate the model's suggestions and fall back to extension-based rules if necessary.
  4. Flag uncertain classifications so users can review them.
  5. Let users manually edit categories in the interface.

Privacy and safety were important design decisions. The current implementation uses a restricted sample directory and sends filenames and extensions—not file contents—to the model. The preview workflow does not modify files.

Why Does Open Innovation Matter?

Open innovation makes experiments like SlothSort possible without requiring a paid, hosted AI API.

Using an open-weight model with local inference gave me the opportunity to explore AI-assisted automation while keeping the inference workflow on my own machine. It also helped me learn how to integrate a language model into a practical application, validate its output, and handle uncertain predictions instead of blindly trusting them.

For a tool that works with personal files, local inference is especially valuable. It provides a foundation for privacy-conscious design and gives users more control over where their data goes.

Open-source tools also make the project easier to inspect, learn from, improve, and extend.

My Agent Session

I built SlothSort through an iterative development workflow: setting up the backend, integrating local AI classification, adding uncertainty handling, and connecting everything to a React dashboard.

I haven't added a DevRelay session link yet.

The Lazy Payoff

The goal is simple: spend less time figuring out where files belong and more time doing useful work.

Instead of manually sorting every file from scratch, users can review AI-generated suggestions and correct the exceptions. The uncertainty flags help draw attention to files that may need a closer look.

SlothSort is still a prototype, so I haven't measured real-world time savings yet. For now, the payoff is a working foundation for smarter, human-controlled file organization.

Building SlothSort reminded me that useful AI doesn't always need to be complicated. Sometimes, a small local model, a focused workflow, and a human-in-the-loop design are enough to create something practical.

Slow down. Sort smarter. Stay in control. 🦥

Top comments (0)