A keyboard-first command palette that searches photos, people, places, tags, and jumps to any settings page — opens with Cmd/Ctrl+K from anywhere in Gallery.
Press Cmd+K on macOS or Ctrl+K anywhere else, and a single search box opens
over whatever page you're on. Type a query and Gallery hits five providers in parallel — photos, people, places, tags,
and the page catalog — then groups everything into named sections so you can see at a glance what kind of match you're
looking at. Pick a result with the arrow keys and hit Enter; the palette knows whether to open the asset
viewer, jump to a person's page, drop you on a map, or navigate to a settings screen.
The classic search bar in the navbar still works exactly as it did. The palette is a second, faster entry point — built
for the moment when you already know roughly what you want and just need to get there in three keystrokes.
Smart, filename, description, OCR — all from one footer
The Photos section can search four different ways. Smart is the default — CLIP semantic search,
ranking by visual meaning, so "kitten on a couch" works even if no one ever typed those words. Filename
matches the original file name, useful when you remember an export pattern or a camera's naming scheme.
Description hits any captions you've added, and OCR searches text Gallery extracted
from the photos themselves — receipts, signs, screenshots.
Cycle modes with Ctrl+/ without ever leaving the input. The footer shows the active mode and
the keyboard hint, so the affordance is always discoverable but never in the way.
If the ML server happens to be unreachable, the palette notices and offers a one-click flip to filename mode, so a
flaky machine-learning container doesn't take search down with it.
Prefix shortcuts scope to one kind of thing
When a bare query is dominated by photos and you know exactly what you're after, start the query with a prefix
character: @alice restricts results to people, #xmas to tags, /trip to albums
and shared spaces, and >theme to commands and navigation. The prefix is consumed by the palette and
doesn't become part of the query text, so a single keystroke flips the palette into a single-section view.
Typing just the prefix with nothing after it opens the full index for that scope — your people most-recently-updated
first, your tags most-recently-updated first, your most-recently-active albums and spaces, or every command and
navigation entry you have access to. It turns the palette into a lightweight browser for recent activity without ever
reaching for a sidebar.
Commands fire verbs without leaving the page
Alongside the entity sections sits a Commands section — stateless verbs you can fire from the palette
without navigating anywhere. Out of the box you get Upload files, Create album, Create shared
space, Keyboard shortcuts, Toggle theme, Sign out, and Clear palette recents.
When a command and a navigation entry score similarly against an unscoped query, the command wins the Top
result slot, so plain album creates a new album on Enter and plain upload opens the
file picker — no arrow keys needed.
Administrators get an extra group for driving the job queues without leaving the page they're on: Run thumbnail
generation, Run metadata extraction, Run smart search, Run face detection, Run face
recognition, plus the blast-radius bulk verbs Pause all queues, Resume all queues, and Clear
failed jobs. Each Run… command fires a parallel request and confirms with a toast; the bulk verbs hit
every admin-visible queue at once and report partial failures inline. These commands are admin-gated — non-admins never
see them in the result list.
Verbs that follow you onto the page
Open the palette while you're viewing an album or a shared space and the Commands section grows a handful of verbs that
only make sense right there. On an album page: Rename this album, Share this album, Download this
album, and Delete this album — or Leave this shared album if it's not yours to delete. On a space
page: Add a member to this space, Manage space members, Add all my photos to this space, and
either Delete this space or Leave this space, depending on whether you own it. The commands disappear
the moment you navigate away, and they never surface on a page they don't apply to.
Each verb is gated on the same permissions the rest of the UI uses, so a viewer never sees "Add member", a non-owner
never sees "Delete", and a space owner never sees "Leave" (you can't leave a space you own). The palette just mirrors
what you can actually do on the page you're on — no more, no less.
A two-step confirm for anything you can't undo
Destructive verbs — deleting an album, deleting a space, leaving a shared one — don't fire on a single stray
Enter. The first Enterarms the row: background tints red, an inset ring outlines it, and
the subtitle swaps to "Press Enter again to confirm · Esc to cancel". The second Enter fires.
Esc, arrow-away, or picking a different command all cancel the pending state. A 3-second timeout clears it
automatically if you get distracted.
The same palette that makes you fast also refuses to turn speed into an expensive mistake. Visual feedback is hard to
miss even out of the corner of your eye, and the muscle memory — hit Enter, see red, hit Enter again — lands in a beat.