Turn your DJ controller into a Mac control surface.
DeckPad is a native macOS app (SwiftUI, macOS 26+, Liquid Glass design) that repurposes a Pioneer DJ DDJ-FLX4 as a programmable input device. Map any pad or button to keyboard shortcuts, Shortcuts, shell commands, or app actions; ride the faders for system volume and screen brightness; scroll and scrub with the jog wheels. Once configured, DeckPad lives in the menu bar as a background service — with feedback via a notch toast, a floating pill, sounds, or the controller's own LEDs.
Status: M1 — MIDI engine complete — the DDJ-FLX4 is fully mapped from the physical hardware (input map, SHIFT layer, LED protocol), decoded live by the DeviceLayer, and regression-tested from a captured fixture. Next up: M2 — Action engine.
Start with the overview, then:
| Doc | |
|---|---|
| 📋 | Requirements (PRD) |
| 🏗 | Architecture |
| 🎛 | Device reference — DDJ-FLX4 |
| 🎨 | Design language |
| 🖥 | UI specification |
| ⚡ | Actions catalog |
| 🔔 | Feedback system |
| 🔁 | Background service |
| 🗺 | Roadmap (M0–M6) |
| 📓 | Decision log |
| ✅ | Task checklists — the living to-do lists, one per milestone |
- macOS 26 (Tahoe) or later
- Pioneer DJ DDJ-FLX4 (USB; class-compliant, no drivers)
- Xcode 26+ to build
Open DeckPad.xcodeproj and run the DeckPad scheme, or:
xcodebuild -project DeckPad.xcodeproj -scheme DeckPad buildRun UI tests from Xcode (headless CLI runs can't enable automation mode). Distribution is Developer ID + notarized DMG (outside the App Store) — pipeline lands in M6.