Detent One for developers 1 snap per hunk · 1 line per click
Feel the diff.
Magnet snaps through hunks, problems and search results. Ratchet walks the undo stack. Press to step the debugger.
One email when the list opens 10.20. Nothing else.
Free. Every friend who confirms earns you a reward.
Fully refundable. Locks the $299 launch price.
$299 until 12.04. Free shipping.
$349. Free shipping, 60-day studio trial.
import { fetchResults } from './api'; Added: import type { Result } from './api'; Removed: const DELAY = 300; Added: const DELAY_MS = 180; const MIN_QUERY = 2; let timer: number | undefined; Added: let inflight: AbortController | undefined; input.addEventListener('input', () => { clearTimeout(timer); Removed: timer = setTimeout(run, DELAY); Added: timer = window.setTimeout(run, DELAY_MS); }); async function run() { const q = input.value.trim(); Removed: if (q.length < MIN_QUERY) return; Removed: const results = await fetchResults(q); Removed: render(results); Added: if (q.length < MIN_QUERY) return render([]); Added: inflight?.abort(); Added: inflight = new AbortController(); Added: try { Added: render(await fetchResults(q, { signal: inflight.signal })); Added: } catch (err) { Added: if ((err as Error).name !== 'AbortError') throw err; Added: } } Removed: function render(results: any[]) { Removed: list.innerHTML = ''; Added: function render(results: Result[]) { Added: list.replaceChildren(); for (const r of results) { list.hidden = results.length === 0; Added: status.textContent = results.length Added: ? `${results.length} results` Added: : 'No matches. Try fewer words.'; } Removed: export const VERSION = '1.3.0'; Added: export const VERSION = '1.4.0';
Drag the dial, scroll over it, or focus it and use the arrow keys. Press it to mark a hunk viewed.
Where your place goes.
-
Losing your place in a 900-line diff
Magnet One snap per hunk Magnet snaps to every hunk, problem and search result. Turn to the next change, press to mark it viewed. Your place in the review is wherever the knob is.
-
Undo-undo-undo-redo
Ratchet One undo step per click Ratchet walks the undo stack one click per step, in both directions. Overshoot by one and you turn back by one, not three shortcuts.
-
Stepping a debugger with F10 for the 200th time
Ratchet One line per click Each click steps the debugger one line; press the knob to continue. The same detent you feel is the line you move.
In the editor, the debugger and the shell.
Detent Studio notices which app is in front and loads its profile before your hand gets there. Every other app still gets system controls out of the box: scroll, zoom, undo, volume, brightness and media.
-
VS Code
Magnet snaps through diff hunks and problems; Ratchet walks the undo stack.
-
Xcode
Step the debugger one line per click; press to continue.
-
Terminal
Scroll history in Fluid, cycle shells and tabs in Clock.
Native ships in Detent Studio. Plugin is a free extension that installs into the app. Community profiles are open-source, written with the SDK.
All 17 apps“Magnet mode through a code review is ridiculous. It snaps to each hunk. I review faster and I look at every change.”
Illustrative note from an early-tester persona. Detent is a concept product and has no customers yet.
Hardware with a readable SDK.
Open SDK in TypeScript and Rust, Apache-2.0 firmware, profiles in plain JSON. No account, no telemetry by default.
Detent One
Launch price $299 Regular price $349
$349
The dial. Every feel, every integration, every update.
-
Raw
-
Graphite
-
Glacier
or 4 interest-free payments of $87.25.
Founders Edition
$449 0001 to 2000
Numbered 0001–2000 in Tally red, with a machined walnut plinth.
-
Tally, numbered
One email when the list opens 10.20. Nothing else.
Free. Every friend who confirms earns you a reward.
Fully refundable. Locks the $299 launch price.
$299 until 12.04. Free shipping.
$349. Free shipping, 60-day studio trial.
Detent is a concept product. This site is a design and engineering demonstration; nothing is for sale and no payment or personal data is collected.
- $20 deposit, fully refundable until your Detent ships
- Batch 1 ships February 2027, Batch 2 in April 2027
- 60-day studio trial, prepaid return label
- 3-year warranty, parts and labor
- Free shipping, duties included
- Four Torx screws to open it; battery and foot sold as parts
Questions developers ask.
Every answer, in one placeCan I write my own profile?
Yes. A profile is plain JSON: detent count, strength, damping, spring, end stops and snap points. The SDK lets any app switch profiles and read the knob; most community profiles take an evening.
Does it need a daemon running?
Detent Studio runs locally to switch profiles per app. Without it, the dial still works as a HID and MIDI device using the 64 profiles stored on it.
What is software-defined haptics?
Instead of a mechanical click, a small brushless motor pushes back on your fingers. Firmware decides where the clicks are, how strong they feel, whether it springs back or stops dead, and it can change that per app in about a millisecond.
Do I need an account?
No. Detent Studio runs locally, profiles live on the device, and nothing is sent anywhere unless you opt in to crash reports.
How does the $20 reservation work?
A $20 deposit holds your place and locks the $299 launch price on Detent One. The Founders Edition is always $449; its $50 deposit holds one numbered serial. When your batch is ready we email a ship date and a link to pay the rest; the deposit comes off the price. Cancel any time before it ships for a full refund, one click, no questions.
What if I do not love it?
Use it for 60 days. If it has not earned its spot on your desk, send it back with the prepaid label for a full refund.