Creative Engineering / Systems
Pivot Mixer
Polyrhythmic DJ Tool
A mobile-first utility for discovering temporal equivalence between tracks of different speeds.

The Concept: Polytemporality
Pivot Mixer is a calculator for the "Grey Area."
Standard DJing relies on syncing tracks to the same BPM. Pivot mixing is the art of finding temporal equivalence between tracks of vastly different speeds. Instead of forcing them to match, you find a shared pulse—a ratio—that exists between them.
For example, mixing 140 BPM into 168 BPM uses a 5:6 ratio:
- 5 beats at 140 BPM take the exact same time as 6 beats at 168 BPM.
- By looping these respective lengths, two incompatible tempos lock into a perfect, hypnotic polyrhythm.
The Problem
Calculating these ratios on the fly in a dark club is impossible. DJs stuck to simple math (multiplying by 1.5), limiting their creative options.
I wanted a tool that could handle the complex math of 7:8 or 6:7 transitions instantly, with an interface designed for muscle memory, not reading.
The Interface
The app is built as a PWA (Progressive Web App) designed for one-handed use in a DJ booth:
- Draggable Pivot BPM Control: Adjust your current tempo with direct drag gestures.
- Curated Ratio Selector (1:2–8:9): Explore simple-to-complex tempo pivots.
- Destination BPM & Pitch %: See the target tempo and required pitch shift.
- Semitone Shift: Understand how the pitch change affects key.
- Loop Instructions: Instant beat counts for both decks so loops lock cleanly.
Inspiration
The technique builds on the "Grey Area" mixing style pioneered by labels like Samurai and Horo (Geoff Wright aka Presha), and takes it further into the mathematical territory defined by Nicolas Bougaïeff.
I wanted a tool that could do these calculations quickly for me on the fly, so I built this app.
Technical Stack
- Svelte 5 + Vite: Lightweight, fast build for the PWA.
- Svelte Stores: State for pivot BPM, ratios, and UI mode.
- CSS + Variables: Mobile-first styling with custom properties and reset.
- PWA: Manifest + service worker caching the app shell for booth/offline use.