ShiftKit is a macOS menu-bar app that turns AI model and reasoning-level changes into satisfying audio cues, like gear shifts, engine swaps, and startup sounds.
The first version is planned as a Tauri app with global hotkeys, local JSON sound packs, and a tiny transition engine that makes model switching feel tactile.
AI tools already have meaningful "states": provider, model, version, reasoning level, and sometimes latency or cost profile. ShiftKit maps those state changes to sound.
Examples:
- Switching from
GPT-5.5 HightoGPT-5.5 Mediumplays a downshift. - Switching from
GPT-5.5 MediumtoGPT-5.5 Highplays an upshift. - Switching from
GPT-5.5toGPT-5.4plays a vehicle change. - Switching engine packs changes the sound identity for a model.
- Tauri v2 app shell
- React, TypeScript, and Vite for the settings UI
- Rust for app state, hotkey handling, config loading, and sound routing
- Tauri tray/menu-bar APIs
- Tauri global shortcut plugin
- Local JSON config and sound-pack manifests
- AVFoundation-backed macOS audio polish later if needed
ShiftKit v0.1 should make the core loop real:
- Run as a macOS menu-bar app.
- Register configurable global hotkeys.
- Map each hotkey to a provider, model, version, reasoning level, and engine pack.
- Track the previous selection.
- Classify the transition.
- Play the matching sound from a local sound pack.
Install dependencies:
npm installRun the settings UI in a browser:
npm run devBuild the frontend:
npm run buildRun the native Tauri app after installing Rust and the Tauri prerequisites:
npm run tauri devSee docs/roadmap.md.
Sound packs are ordinary folders with a pack.json manifest and local audio files. See docs/sound-packs.md and examples/sound-packs/classic-v8/pack.json.
ShiftKit code is licensed under MIT. Sound packs may use separate licenses, and bundled/community packs should declare their own license in pack.json.