CASE 04
desktop-organizer
File organiser with local AI that proposes but never acts alone: plan, confirmation, dry-run, operation journal and undo.
57 · automated tests
Context
AI automation that touches files is the category of tool most likely to delete something by accident.
The desktop becomes a dumping ground precisely because organising takes work.
My role
Implemented Ollama-based classification (local or cloud) as a suggestion, never as a decision.
Built the full flow: plan first, confirmation, --dry-run, operation journal and undo.
Added duplicate detection by size and SHA-256, classification cache and sensitive-file protection.
Wrote 57 tests in the core module against a simulated Ollama server, plus interface tests.
Technical decisions
The AI proposes; the program executes
Language models fail confidently. Giving one write access is giving it delete access. The separation is the product, not a detail.
Dry-run as a first-class citizen
Before moving three hundred files, the user sees exactly what will happen. That is the difference between automation and faith.
.env contents and keys never leave the machine
Classification does not require reading secrets. The filter runs before sending, not after.
Simulated Ollama in the tests
A test that depends on a downloaded model does not run on someone else's machine. The simulator makes the suite deterministic and fast.
Outcome
57 automated tests in the core module.
No code path deletes a file.
Journal and undo auditable per operation.
QA report stating limitations and validations.
Stack
- Python
- Ollama
- Tkinter
Gallery
Next case
05 · LetterForge →