Skip to content

V2 Roadmap

Tim May edited this page Jul 18, 2026 · 8 revisions

V2 Roadmap

Current release: v1.4.7. V1.0.0 shipped the full protocol layer, pages, icon library, behavior modes (tap, toggle, momentary, shift), keystroke recorder, media keys, button LEDs, dark mode, Settings window, launch at login, device self test, and a notarized release pipeline. Everything below is what's shipped since, in five tracks; items marked done shipped in the version noted.

Track 1: Apple-native UI pass — shipped

Goal: a stranger opens the app and assumes Apple shipped it.

  • Sidebar (NavigationSplitView), tile drag-and-drop with Home Screen shift semantics, drag a tile onto a sidebar page to move it there
  • Profile version history in place of undo/redo (autosave snapshots, Settings > History browses/restores, Duplicate Profile is the manual checkpoint)
  • Hover states, animated selection, first-run onboarding, Settings window, native toolbar, in-app Help (Cmd ?)

Track 2: Connect choreography — shipped

  • LED rainbow cascade on connect, also runs on demand as "Test Device"
  • Brightness fade-in on connect instead of a hard jump (v1.4.1)
  • Haptic tick on page change: shipped v1.4.1, pulled v1.4.2 (fired too late to read as useful feedback)

Track 3: Open source infrastructure — shipped

  • Public repo, MIT license, README, PROTOCOL.md, CONTRIBUTING.md, SECURITY.md, notarized GitHub Releases, Homebrew tap, CI on every push
  • RazerStreamKit split into its own standalone SPM package (v1.4.0), so other apps can depend on just the protocol layer

Track 4: Features

  1. App-switching pages (v1.2.0): the deck follows the frontmost app to its mapped page; manual page changes always win; Settings > Apps has the mapping editor
  2. Profile import/export
    • Native .razerstream single-profile file, Settings > History > Export/Import (v1.4.1)
    • Elgato Stream Deck / Loupedeck 6.3 import: not started, need real sample files from those formats
  3. Icon libraries beyond SF Symbols (v1.1.0): bundled Lucide + Bootstrap Icons, user folders of PNG/SVG, a Recent tab (v1.4.0)
  4. Live tiles (self-updating tile/knob content):
    • Clock (v1.1.0)
    • CPU/RAM meter (v1.4.1): bars on a tile, small pie charts on a knob strip (v1.4.6), via the standard Mach host APIs
    • Disk free space (v1.4.5): pick any mounted volume, defaults to the boot drive
    • Still open: now playing with album art (needs Apple's private MediaRemote framework), calendar next-up
  5. Haptics (v1.4.0): buzz on button/knob press and touch, Settings tab with a pattern picker
  6. Two-finger swipe to change pages: shipped v1.4.1, pulled v1.4.2 (this device's physical bezel ridges make the gesture unpleasant, a hardware ergonomics issue independent of the code)
  7. Knob acceleration (v1.4.1): fast turns step Volume/Brightness 3x
  8. Idle dimming (v1.4.1): screen and button LEDs fade after inactivity, off by default; the status light is never touched, so connection state always stays visible
  9. Knob rotation presets beyond the basics: [x] Volume, Screen Brightness, Page Navigation, Track (v1.4.1), [x] Button LED Brightness (v1.4.3), [x] Screen + LED Brightness combined (v1.4.4); one global handedness setting flips direction for all of them at once. Still open: mouse scroll as a preset.
  10. Webhooks, Home Assistant/MQTT: not started
  11. Multi-action macros (fire a sequence of actions from one control): called out by a user as a must-have for a real Loupedeck replacement. Not started; needs a real design pass first.
  12. Plugin API: not started. Concrete requirements gathered from a real Jellyfin-controller use case (see the repo's ROADMAP.md for the detail) point at full-tile/full-knob custom image drawing at 10-20fps plus two-way data, rather than the current declarative tile/knob config shape.

Community requests

  • Loupedeck CT hardware support: blocked on a protocol capture from an actual CT owner; different device from the Stream Controller this app targets
  • Whether RazerStream needs the old Loupedeck software fully uninstalled or just quit first: untested, open question
  • Profile-per-app as an alternative to the current page-per-app-within-one- profile model: a real design fork, not decided

Track 5: Other platforms (community owned)

The maintainer isn't building these; PROTOCOL.md means a port never needs a serial sniffer.

  • Linux kit and CLI: RazerStreamKit is Foundation plus POSIX serial I/O; needs one small device-discovery shim behind #if os(Linux). Good first contribution.
  • Linux GUI (GTK or Qt), Windows (realistically C# against PROTOCOL.md)

How to claim work

Open an issue saying what you're taking, or comment on an existing one; small focused PRs beat big ones. Hardware findings belong in PROTOCOL.md.

Clone this wiki locally