Screenshot Declutterer began as a way to review screenshots on my Mac. Keep, Unsorted, and Trash give the pile somewhere to go; renaming helps the things I keep become findable. Automated naming seemed like a natural addition, until a small vision model made the desktop app feel much heavier than the task deserved.
My initial Ollama setup took roughly 21 seconds to suggest a filename and wanted about 7.7 GB of GPU memory on a 16 GB Mac. That is a substantial working set for a helper beside a review board. A filename is a small output, but producing it still requires the model to interpret an image. The feature had to fit the rest of the machine’s workload.
Text alone lost part of the screenshot
I tried Apple’s text recognition followed by a smaller text-only model. It was lighter, but it created another pipeline to maintain and missed information carried by layouts, charts, diagrams, and UI state. I also considered a hosted provider with a user-supplied API key. That would have changed the privacy boundary of an app built to review screenshots locally, so I kept looking for an on-device path.
A video showing the model running on a Raspberry Pi led me to revisit the runtime rather than dismiss the machine. With LiteRT-LM, the comparison across the same 39 screenshots averaged 6.5 seconds per image, against 20.9 seconds with Ollama. That result made optional naming much more usable in my review workflow. It is a measurement from this machine and image set, rather than a general speed promise.
A suggestion still needs a decision
The image goes to a localhost service and naming runs on the Mac. Naming is optional: the review board remains useful without loading a model. That separation also keeps the model’s role modest. A proposed name is something to review, just as a visual-similarity match is a reason to inspect two files rather than a reason to delete one automatically.
The wider workflow keeps undo and a confirmed move to native macOS Trash distinct from reviewing a card. Those ordinary controls matter as much as inference time. Faster suggestions help only if I can still understand what the app will change. The practical lesson from this feature was to evaluate the whole local experience: runtime, memory, waiting, and the final human decision about a file.
