preview v0.1 — built for macOS 26 Tahoe · Read the changelog

Any project.
Two keys.

⌥ SpaceSearch projects
⌥ TabSwitch windows
⌘ .Project actions

A keyboard-driven project launcher for developers who juggle dozens of repos across every editor on macOS. Press a hotkey, type a few letters, land in the right window.

Download for Mac ⌘ + D
macOS 26+ Tahoe Apple Silicon + Intel No account · no telemetry
+
Space
  • TS
    web-app
    ~/code/web-app · feat/pricing · 7
    Cursor
    VS Code
    IntelliJ IDEA
  • GO
    plexo-cli
    ~/code/side/plexo-cli · main
    IntelliJ IDEA
  • GO
    api-gateway
    ~/code/work/api-gateway · main
    IntelliJ IDEA
  • TS
    react-dashboard
    ~/code/work/react-dashboard · feat/onboarding · 3
    Cursor
  • RB
    notion-clone
    ~/code/side/notion-clone · main
Pressto open
In situ

Lives on your desktop. Two keys away.

No window to find. No app to alt-tab to. The palette appears wherever you are.

Cursor File Edit Selection View 100% 10:24 AM
+
Space
  • TS
    web-app
    ~/code/web-app · feat/pricing
    Cursor
    VS Code
  • GO
    api-gateway
    ~/code/work/api-gateway · main
    IntelliJ
  • TS
    react-dashboard
    ~/code/work/react-dashboard · feat/onboarding
    Cursor
  • RB
    notion-clone
    ~/code/side/notion-clone · main
⌥ SpaceSearch
⌥ TabSwitch
⌘ .Actions

Find any project. Five letters or less.

Every trip through Finder is a broken thought. Every dock-bounce is a thread lost. Hit ⌥ Space, type three letters, land in the right repo — your focus stays on the problem, not on hunting for the folder.

  • No syntax to remember"wba" finds web-app. "adak" finds odak. Typos forgiven. Muscle memory beats careful typing — every time.
  • Learns your weekThe repos you actually touch rise to the top. The dead ones fall off. Less scanning, fewer decisions, more doing.
  • Zero setup, zero configNo folder picker, no YAML, no sidebar to curate. Install it; every git repo on your Mac is already findable.
  • SW
    odak-mac
    ~/code/odak-mac · feat/liquid-glass · 4
    Xcode
  • TS
    odak-site
    ~/code/odak-site · main
    Cursor
  • PY
    odak-scripts
    ~/code/odak-scripts · main
  • SW
    audio-dock
    ~/code/side/audio-dock · main
All editor windows ⌥Tab
  • Cursor
    web-app · pricing.tsx
    Cursor · ~/code/work/web-app
    just now
  • web-app · pnpm dev
    iTerm · zsh
    2m ago
  • Xcode
    platform-ios · AppDelegate.swift
    Xcode 16.2
    8m
  • IntelliJ IDEA
    platform-api · handler.go
    IntelliJ IDEA
    14m
  • VS Code
    platform-etl · pipeline.py
    VS Code
    32m
  • localhost:3000 · web-app
    Chrome · preview
    1h
⌥ SpaceSearch
⌥ TabSwitch
⌘ .Actions

Every editor window. One list.

Cmd+Tab groups by app — useless when ten Cursor windows share one icon. Odak shows every window as a labelled row, grouped by project, most-recent first. Land on the right window the first time — no mis-click, no re-orient, no lost train of thought.

  • One list, not sixCursor, VS Code, Xcode, IntelliJ, GoLand, RubyMine, Zed, Sublime, terminals, and Chrome tabs tied to a localhost preview — all in one place.
  • MRU, not alphabeticalThe window you just left is row one. No scrolling, no guessing — flow stays intact.
  • Zero latencySubscribes to Accessibility APIs. The list is correct the instant the palette opens — no stutter to break your rhythm.
⌥ SpaceSearch
⌥ TabSwitch
⌘ .Actions

Per-project shortcuts, checked into the repo.

Every repo has rituals — open the PR, tail the logs, hit staging, kick a preview deploy. Drop a .odak file and they collapse into one keypress. No bookmarks to hunt, no scripts to remember, no teammate asking "what's the staging URL again?"

  • Lives with the projectNot a global config, not a cloud sync. A plain file in the repo root — version it, review it, forget it. New teammates get the same bindings the moment they clone.
  • Variables, tooDeclare STAGING_URL once, reference it everywhere. Change it once when it moves — nothing else to update.
  • The right editor, every timePin an IDE per-project. platform-ios always opens in Xcode — even if you usually live in Cursor. No more "wrong app" muscle-memory slip.
📄 .odak TOML
# web-app
ide = "cursor"

[env]
STAGING = "staging.acme.dev"
LOGS_URL = "kibana/?q=landing"

[actions.deploy]
key  = "⌘D"
run  = "pnpm deploy:preview"

[actions.pr]
key  = "⌘P"
open = "github:pr"

[actions.logs]
key  = "⌘L"
open = $LOGS_URL
Actions · web-app
  • Open PR on GitHub ⌘P
  • Deploy preview ⌘D
  • Tail Kibana logs ⌘L
  • >_
    Terminal in repo root ⌘T
  • Copy SSH URL ⌘C
  • Open staging ⌘S
Positioning

Not a launcher. Not a window switcher.

Three tools, three jobs. Odak knows what a project is — which makes the difference.

Swiss-army launcher
Raycast
Fires anything. Calculator, clipboard, snippets, emoji, extensions, AI. Powerful. General-purpose.
Knows apps
Knows commands
Doesn't know what a repo is
Project switcher
Odak
One tool. It knows your repos, which editors have them open, and what each project wants you to do next.
Knows your projects
Knows which editor has them
Per-project actions
Window switcher
AltTab
Every window in the OS, in a flat list. Great at what it does. Has no idea two Cursor windows are the same repo.
Knows windows
Doesn't group by project
Can't open what isn't open
Pricing

One price. Yours.

No seats, no subscription, no usage tiers. Buy it once, use it forever. Upgrades are free for two years.

Odak · one-time
14 days free
$15once
3 Macs · 2 years of updates
  • Every feature, unlocked. No pro tier, no add-ons.
  • Use on 3 Macs — desktop, laptop, work machine.
  • Two years of updates included. After that, keep the version you have.
  • 14-day free trial. No credit card.
Start 14-day trial ⌘ + D

One-time payment · instant activation · Sparkle auto-updates

Bought once. Loved forever.

Developers pay for tools that earn their place on the keyboard. We don't think that relationship should renew every month.

If Odak saves you the fifteen seconds it takes to hunt down a project twenty times a day, it pays for itself in a week.

Apple-notarized Sandboxed Universal 2 No telemetry