Skip to content

Case 03 · Own product

A command palette for the whole desk

A macOS launcher for engineering teams — deploys, reviews and links, three keystrokes away.

Role
Founder, design & engineering
Year
2025
Duration
Ongoing
Client
Own product
Stack
SwiftAppKitRustSQLite
Relay command palette on macOS
Relay 1.4

01 — Problem

My own day was a dozen tabs deep: CI, previews, pull requests, dashboards. Every existing launcher was built for opening apps, not for acting on the things inside them.

02 — Process

  1. 01

    Latency budget first

    Before drawing a pixel I set a budget: 16 ms from keystroke to first result. The index lives in SQLite on disk, fuzzy matching runs in Rust, and the UI only ever renders what fits on screen.

  2. 02

    Keyboard grammar

    Every action follows the same verb → object → modifier grammar, so learning one command teaches the rest. Shortcuts are displayed as keycaps next to each row until you have used them five times, then they fade out.

  3. 03

    Hardware, just for fun

    A small batch of four-key macro pads ships to paying teams — one key per favourite Relay command.

Command palette rows with keycaps
Rows, icons and keycaps
Four-key macro pad
Relay macro pad, batch 02

03 — Result

Relay is used daily by 2,100 engineers across 140 teams. It pays for itself and for my coffee.

median keystroke to result
11ms
daily users
2,100
paying teams
140

Next case

Oak & Ember

A checkout with nothing left to remove

Read case→