Prefix
Only match things whose name starts with your query — no fuzzy noise, no middle-of-string surprises.
macOS 11+ / Apple Silicon & Intel / Native & signed
Native file & app search for macOS, built around one idea — you should never wait for an index.
One-time purchase · Free updates in 1.x · 30-day refund
Live preview — try typing readme, ^src, or click a slot. ↑↓ to navigate, ↵ to open.
01 — How it feels
Only match things whose name starts with your query — no fuzzy noise, no middle-of-string surprises.
End-anchored. .md$, .pdf$, report$ — extensions and conventional endings at the end of a name.
Disable fuzzy for this atom. Bring back a specific string, verbatim, in a sea of near-misses.
Subtract matches. Combine with others: ^src .rs$ !test — Rust source outside test files.
Atoms are whitespace-separated and combine with AND. Smart case —
case-insensitive unless you type uppercase. Unicode-aware normalization,
so café matches cafe.
02 — Features
Exact name wins over prefix, which wins over word-boundary, which wins
over fuzzy. Package-manager caches (node_modules,
.bun/install, .m2/repository) are auto-demoted;
common user extensions (.pdf, .py,
.app) are auto-promoted. A launched-often fuzzy match
never beats an un-launched prefix match.
exactprefixword boundaryfuzzy
Files and apps you launch more often rank higher within their tier.
State persists in SQLite alongside your settings. Open
~/Projects/bar ten times today and it's at the top
tomorrow — until your habits change.
Assign ten apps to ⌥1 through ⌥0. Drag to reorder. ⌘← / ⌘→ cycles through slots whose app is currently running — flip between open apps without reaching for the mouse. Modifiers are independently configurable.
Hit → on a folder to scope in; ← backs out.
A 50-level breadcrumb remembers the query at each level, so you
can drill down and pop back without re-typing. Hidden-file
visibility is per-scope — ~/.config settings stay
hidden at home, but appear once you explicitly scope into it.
Global hotkey — default ⌥ Space, configurable. The window hides itself the moment you open a result. Tray icon, autostart at login, and a conflict banner if you try to steal Spotlight's ⌘ Space before clearing it in System Settings.
Filesystem changes — including app installs and removals — reflect
within ~250ms via FSEvents. The index walker uses
getattrlistbulk to combine directory iteration and
stat() into a single syscall, so a full walk of
~1M entries finishes in 3–5 seconds. You never restart to
pick up a new file.
03 — Under the hood
Snappy is a signed native macOS app built in Rust. It walks your
home directory with getattrlistbulk, serializes the index
with bincode, and serves matches from memory through a
tier-packed scoring function that fits five ranking signals into a
single 32-bit integer. A descending sort is O(N log N), strictly
lexicographic, end of story.
No background services. No cloud. No analytics. No re-indexing at 3 AM. When you're not summoning it, it's a small process in the menu bar watching FSEvents.
04 — Pricing
Snappy for macOS
50% off at checkout
with code LAUNCH50 · auto-applied · ends Jun 18, 2026.
Checkout by Stripe. You get a download link and license key by email.
Not on the Mac App Store? Snappy needs a global hotkey and full-disk access to index your home — two things App Store sandboxing rules out. So we sell it direct.
05 — Requirements
Still reading?