This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.
What I Built
My Downloads folder often becomes a mixture of documents, images, archives, and duplicate files. Organizing it manually means repeatedly scanning files, deciding where they belong, and moving them one by one.
LazyDeskAI is a local-first file organization tool designed to make that process safer and less repetitive.
Instead of immediately rearranging a workspace, it scans files, proposes organization actions, and lets the user review the plan before applying changes.
Key features include:
- Incremental processing: caches analysis results so unchanged files can reuse previous work.
- Rule-based organization: uses deterministic file-extension rules to suggest destinations.
- Optional local AI: supports an Ollama integration for local model-based classification.
- Duplicate detection: identifies exact duplicate files.
- Review before action: lets users inspect proposed moves before applying them.
- Apply history and Undo: supports recovery of applied changes on a best-effort basis.
- Benchmarking: compares rule-only, cold-cache, and warm-cache processing.
The guiding idea is simple: automate the repetitive parts, but keep the user in control.
Demo
🎥 Watch the demo: https://youtu.be/ZFXDwcewOLI
The demo shows the interface, workspace analysis, duplicate detection, and performance measurements.
The newer screenshots also document the review-before-apply flow and an Apply/Undo cycle.
Code
💻 GitHub repository: https://github.com/shrey04kaitke-sys/LazyDeskAI
The project is open source. Explore the code, inspect the implementation, and suggest improvements.
How I Built It
LazyDeskAI combines a React and TypeScript frontend with a Python FastAPI backend and SQLite for persistent data.
The main technologies are:
- React, TypeScript, and Vite for the user interface.
- Python and FastAPI for the backend.
- SQLite for persistent application data and caching.
- Ollama as an optional route for running a local open-weight model.
I focused on incremental processing and safe actions rather than automatically moving files without confirmation.
An important limitation of the recorded demo is that Ollama was unavailable during that run. The classifications shown in that session came from deterministic extension rules, not a live model inference. The optional local-model integration is part of the design, but the demo should not be interpreted as proof that model-based classification was running.
What the benchmarks showed
I tested two synthetic workloads:
| Workload | Rule-only | Cold cache | Warm cache |
|---|---|---|---|
| 22 files | 2.498 ms | 11.871 ms | 8.102 ms |
| 200 files | 13.099 ms | 70.240 ms | 48.678 ms |
The warm-cache runs recorded 22/22 and 200/200 cache hits, respectively, with zero model requests.
These results show that cached results were reused. They do not show a speed improvement over rule-only processing: warm-cache processing was slower in these measurements. Since no model requests occurred, the benchmark also does not establish a reduction in model-inference time or cost.
I included these limitations because useful engineering starts with reporting what the measurements actually show.
Why Does Open Innovation Matter?
File organization can involve sensitive information: personal documents, coursework, project files, and other private data.
A local-first approach gives users more control over where their files are processed. With a compatible local model, classification can be performed on the user's machine rather than requiring every file to be sent to a hosted AI service.
Open models and open-source tools also make it possible to inspect components, experiment with different models, and adapt the system to different workflows.
That flexibility matters because file organization is not one-size-fits-all. Users should be able to understand the system's decisions and decide what happens to their own files.
LazyDeskAI is still a work in progress. Local-model availability and performance need further validation, and the current benchmark does not prove that the optional AI path is faster or cheaper than a closed API.
My Agent Session
This section is optional. I have not included a DevRelay agent-session link because I do not have a verified saved session to share.
The Lazy Payoff
The immediate payoff is less repetitive work: users can review a proposed organization plan instead of manually sorting every file from scratch.
In a synthetic 200-file workload, the warm-cache run reported 200 cache hits. This demonstrates cache reuse, but it is not a measurement of real-world time saved or proof that the warm run is faster.
The Apply/Undo workflow also makes it possible to review changes and attempt recovery rather than trusting a blind, one-way operation.
I have not measured time saved for real users yet, so I won't claim a specific number of minutes saved.
Prize Categories
This submission focuses on the overall Hacktoberfest Open-Source AI Challenge. I am not claiming a partner-specific prize category.
Built for the Slow and Steady theme: do less repetitive work, reuse what you can, and keep control in the user's hands.
Top comments (0)