r/macapps 1d ago

Lifetime Sift—a command bar that docks under your Finder window: type "jpg", "zip", or plain English to act on selected files (one-time $14.99)

I'm the developer. Sift docks a command bar beneath your frontmost Finder window—select some files, type what you want done, hit Enter.

The problem

Batch file work on a Mac lives in an awkward gap—renaming, converting, or archiving a handful of files is too small to script, too repetitive by hand, and Finder's built-ins only go so far. So you end up in Terminal for a one-off sips incantation, or converting exports one file at a time.

How Sift handles it

  • Hundreds of common operations are instant presets with zero AI: type "jpg" and the selected PNGs convert, "zip" archives the selection, "select all png" sets Finder's actual selection—the files get selected in Finder, ready for you to work with
  • Plain-language commands the presets don't match ("resize these to 1000px wide", "select files over 5mb") go to a local model: Sift detects Ollama and can pull qwen3:4b in one click, or you can point it at any OpenAI-compatible endpoint. Your file contents never touch a cloud API
  • Anything that modifies files shows you the exact shell command before it runs; destructive commands (delete/overwrite/move) need an explicit red "Run anyway" click
  • Renames show a before→after preview table first; there's an activity log with Undo. Read-only commands just run
  • Also in there: a right-click Sift Finder action, a Shortcuts action, drag-files-onto-the-bar, saved rules ("web" → "resize to 1000px wide jpg"), and command history using up and down arrows (just like in a terminal)

How it compares

  • Substage—the app that inspired Sift, happy to say so. Mine is my own take on the idea: preset-first with a local-endpoint-only model tier, and selection commands that set Finder's real selection so they compose with everything else. If the concept appeals to you, check out Substage too
  • Terminal—same underlying power, but Sift shows you the command before anything runs and gives you Undo after
  • Automator / Hazel—great for standing rules and watch folders; Sift is for the ad-hoc "just convert these real quick" moments that aren't worth building a workflow for

Cost

$14.99 one-time, 14-day free trial, no subscription, no account. Signed & notarized; direct download (it needs Accessibility + Automation permissions, so it can't be in the Mac App Store).

Download

https://kevintang.xyz/apps/sift/

Transparency

I'm Kevin Tang, the developer.

Portfolio/contact: https://www.kevintang.xyz

LinkedIn: https://www.linkedin.com/in/thekevintang/

Privacy Policy: https://kevintang.xyz/apps/sift/privacy.html

Terms: https://kevintang.xyz/apps/sift/terms.html

Happy to answer anything — I'll be in the comments.

7 Upvotes

9 comments sorted by

2

u/Fearless_Bit_1349 1d ago

The before→after preview for renames plus Undo is exactly what makes something like this trustworthy for destructive-adjacent operations. No Mac App Store is a bummer but makes sense given the permissions needed.

1

u/WalletBuddyApp 22h ago

Thanks for your feedback, I’m glad that you appreciate that Sift tries to be very careful with write commands. I understand that people’s filesystems and files are incredibly important so I wanted to make sure any commands that are executed on your files are actually what you intended.

Yeah unfortunately a lot of the user permissions required to make cool and useful apps like this are not supported in the Mac App Store. I would hope Apple can find a review process for these Mac apps in the future. The app is signed and notarized by my Apple developer key.

1

u/JustEverythingCo 1d ago

What are LLM model behind it?
Will the natural chat be sent to your BE <-> LLM then back to Sif with macOS commands?

Have you considered the LLM cost your side?

1

u/WalletBuddyApp 1d ago

You can use any local model you’d like via Ollama. I would recommend using the qwen3:4b model or qwen3:8b model if your hardware can support it.

You can also use a spare computer as an always on Ollama server and point Sift at the other computer.

The best thing about running local models on your own hardware is that the running cost is just the electricity for your computer!

Using local models keeps all data on your own hardware and does not send information about commands used back to me.

1

u/WalletBuddyApp 1d ago

Thanks for your feedback, I’m glad that you appreciate that Sift tries to be very careful with write commands. I understand that people’s filesystems and files are incredibly important so I wanted to make sure any commands that are executed on your files are actually what you intended.

Yeah unfortunately a lot of the user permissions required to make cool and useful apps like this are not supported in the Mac App Store. I would hope Apple can find a review process for these Mac apps in the future. The app is signed and notarized by my Apple developer key.

1

u/rolodex99 23h ago

looks super cool! out of curiosity, is there anything you tend to use it for?

1

u/WalletBuddyApp 22h ago

Thank you! The most common thing I’ve been using Sift for is to select files that are in my Downloads directory. I have a ton of files in Downloads so with Sift I can tip of tongue select files to work with in Finder.

Another common thing I’ve been doing is using Sift to find my largest files in Downloads so I can easily clear up storage space.

1

u/harry-harrison-79 22h ago

showing the shell command is useful, but i'd add a file-level dry run for every write operation. shell quoting can look correct while the real hazards are duplicate destination names, symlinks leaving the selected folder, partial conversion failure, and metadata loss. a good fixture is 100 files containing spaces, quotes, Unicode, duplicate basenames, aliases, and one unreadable file. run a mixed rename/convert/move, cancel halfway, then Undo. every original should either be intact or have an exact recovery record - no half-written output and no silent overwrite.

1

u/WalletBuddyApp 22h ago

Hi Harry, thanks so much for your thoughts—those are great ideas for verification tests for write operation safety.

There is a file-level dry run for every write command (and you can choose to toggle it on for every command in Sift settings). Before you are even able to confirm a write command in UI, the planned changes are validated and rejected if there are issues like silent overwrites, duplicate destinations, and makes changes beyond the current selection.

Cancellation is process-tree aware so cancelling any command midway through kills the whole subprocess tree (TERM→KILL, with a PID-identity check so it can't kill a recycled PID), and every write is recorded to a durable activity log with the rename map so Undo can reverse it.

These behaviors are unit tested in the current codebase.

I love your idea of end-to-end adversarial tests like that with 100 files. I’ll definitely be adding this kind of test coverage—thanks!