Torchsnap

Light · Find · Launch

Strike a key,
light the way.

Torchsnap is a keyboard-first launcher for the apps, files, and small tasks you reach for all day. A tiny window, a single hotkey, and a Gadget ecosystem to make it your own.

macOS· Apple siliconWindows· Coming soonLinux· Coming soon
Free, forever.MPL-2.0 licensed
ghoEsc
Ghostty
/Applications/Ghostty.app
Toggle Dark / Light Mode
Switch system appearance between dark and light
Google Chrome
/Applications/Google Chrome.app
Open

PressSpaceanywhere. That's the whole interaction model.

Bind it to whatever fits your fingers.

Meet the cast

Snappy refuses to wear
the same thing twice.

150-plus costumes in the closet. Snappy picks a different one every time you summon the launcher, saves the bunny for Easter, the witch for Halloween, and something with claws for the full moon. Snappy is, frankly, a little weird about cosplay. The good kind of weird. We've stopped trying to talk Snappy out of it.

  1. #042 · Dino

    Prehistoric run

    Snappy gone prehistoric. Life, uh, finds a way to launch.

  2. #013 · Vampire

    Night shift

    Centuries of thirst. I vant to launch your applications.

  3. #091 · Wanderer

    Loop edition

    Snappy as an ever-changing time traveller. Four pockets, all full of jelly babies and launch configs.

  4. #077 · Adventurer

    Field expedition

    Swapping the idol for a sandbag. It belongs in the app catalogue.

  5. #055 · Banana

    Peel & launch

    Snappy armed with a banana. LAUNCH! BA-NA-NA!

  6. #031 · Slasher

    Dream slayer

    Haunting your dreams. It knows what apps you want to launch next.

  7. #???

    Lunar edition

    Hear that howl? Something hairy this way comes.

Open the drawer

Snappy's gadgets.
Every one of them a plugin.

Pressing the hotkey reveals more than an app launcher. The emoji your sentence is missing, the math you'd have opened a tab for, the search that lands already on the answer page. None of it breaks the thing you were doing.

Bundled

Emoji Picker. An emoji picker that keeps up with the keyboard.

The emoji your sentence is missing, two letters away. No menu hunt. No app switch. No break in the writing.

Torchsnap launcher in emoji-picker mode: the search field reads ':part', a grid of emojis fills the body, and the footer labels the selected glyph as 'partying_face — partying face'.
Bundled

Calculator. A calculator that doesn't need its own window.

Mid-thought, you need a number. Type the expression, the answer's already underneath it. The same expression, tomorrow morning, still one keystroke away.

Torchsnap launcher with the expression '2^32 - 1' typed; the calculator's inline row shows the result 4294967295 above the standard footer.
Bundled

Bangs. Search the web without first opening the web.

!gh torchsnap. keyboard !wiki. !yt synth wave. Every DuckDuckGo bang, recognized at the start, the end, wherever it falls out of your fingers. The browser skips the search engine entirely and opens on the answer page.

Torchsnap launcher with 'pantine !crates' typed; the top result opens 'pantine' in the Rust community's crate host, with several System Settings results listed below.

Already in the box

App launcher, clipboard history, system commands, system preferences, Open URL. All already covered out of the box. The list keeps growing as we ship more, and grows further once third-party Gadgets arrive.

Open ecosystem

Gadgets all the way down.

Torchsnap is a small launcher with a plugin system. Not a big launcher with a few extension points bolted on. All those bundled Gadgets are written the way you'd write your own, and there's nothing a third-party Gadget can't reach for that a built-in one can.

Ready to build your own? The gadget guide walks you through your first one, and the bundled Gadgets in the source repo show the shape of things.

  • WebAssembly core

    Any language that compiles to wasm32-wasip2 works as a Gadget: Rust, Go, JavaScript, Zig. Each runs in its own sandbox, isolated from the host and from every other Gadget.

  • Optional React frontends

    When a Gadget needs more than the standard result list, it can ship its own React/TSX surface: settings panels, custom launcher views, inline strips above the results.

  • We use what we ship

    Most of Torchsnap's own bundled Gadgets are written the same way you'd write one. No side door, no shortcut, just the same way in for everyone.

Lines in the sand

Three things.
Done with conviction.

No feature checklist. No matrix. Just three opinions about what a launcher should be, and a refusal to be anything else.

01Speed

From thought to result. No detour.

One global hotkey. The window appears already focused, ranking results before your finger leaves the key. Esc and it's gone. No menu bar, no dock, no afterimage.

Space
02Everywhere

One launcher. Three operating systems. Same muscle memory.

Cross-platform from day one. Same hotkey, same fuzzy ranker, same Gadget format on every desk. macOS today; Linux next, Windows to follow.

macOS
next
later
03Open

No account. No telemetry. No catch.

Nothing leaves your machine. Nothing to sign up for. The source is on GitHub if you want to verify any of that yourself.

what we collect
no account
no telemetry
open source
MPL-2.0
verify on github