This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
Some tasks aren’t difficult—they’re just easy to keep postponing. Organizing files is one of them.
I built SlothDesk, a digital assistant that helps turn a cluttered folder into an organized download with less repetitive work.
Instead of manually sorting every file, users can:
Upload files or select a folder.
Get category and filename suggestions.
Find exact duplicates and documents with similar filenames.
Review which files to include and how to organize them.
Download the result as an organized ZIP.
View daily summaries of their uploaded workspace.
Each account has its own private uploads. SlothDesk works on uploaded copies, so the original files on your computer stay unchanged.
It’s built for students, developers, and anyone whose idea of organizing files is creating another folder called “New Folder.” 😅
Demo
🦥 Try SlothDesk: https://slothdesk.onrender.com/
Create an account, upload a few sample files, review the suggestions, and download your organized ZIP.
For a quick duplicate-detection demo, upload two identical files with different names. SlothDesk groups exact matches using SHA-256 hashes, so detection goes beyond comparing filenames.
Code
GitHub repository: https://github.com/Anushkasharma101/slothdesk.git
The project includes the frontend, backend, MongoDB models, optional Ollama integration, tests, and deployment instructions.
How I Built It
SlothDesk uses:
React and Vite for the frontend.
Node.js and Express for the backend.
MongoDB Atlas for accounts, upload metadata, review choices, and digest history.
Multer for file uploads.
Archiver for organized ZIP downloads.
Render for hosting the application.
The workflow is straightforward:
Upload → Analyze → Review → Download
Classification starts with file extensions and filename normalization. Exact duplicate detection uses file hashes, while similar-filename groups are flagged separately for manual review.
For AI-assisted naming, I added an Ollama integration that can use a configured open-weight model to suggest cleaner filenames. It sends filenames and categories—not document contents—to the model. Suggestions are validated before being used.
Current AI status: Ollama support is implemented, but an active model in the public deployment has not yet been verified. When no model is configured, or inference is unavailable, SlothDesk uses its built-in rules and labels that behavior.
I also kept the final decision with the user. They can exclude duplicate copies, preserve an uploaded path, or accept the suggested organization before downloading.
Why Does Open Innovation Matter?
The open-model integration gives SlothDesk room to evolve without tying its naming assistant to one proprietary API.
With Ollama, a self-hosted installation can choose a model that fits its hardware, experiment with prompts, and change the naming behavior. When inference runs locally, filename metadata can stay within that installation rather than being sent to a third-party inference service.
That flexibility matters for a tool handling personal digital clutter. Users should be able to understand what the assistant does, where its inputs go, and how its suggestions are produced.
The deterministic parts remain inspectable too: categorization, duplicate detection, path validation, and ZIP generation all have explicit behavior. AI adds suggestions; the user reviews the result.
SlothDesk’s goal is simple: make a small, recurring chore easier to finish—and leave a little more time to take it slow. 🦥
Top comments (0)