DEV Community

Shreyashi Kaitke
Shreyashi Kaitke

Posted on

LazyDeskAI: Less Rework, Safer File Organization 🦥

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

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.

devchallenge #hf26challenge #opensource #ai

Top comments (0)