Most interfaces treat your cursor like a dumb dot. You point, it follows. The burden of precision falls entirely on you — your hand, your wrist, your patience. Miss a tiny checkbox by two pixels and nothing happens. The UI just sits there, indifferent.
But what if the interface adapted to you? What if, as your cursor approached a control, the control reached out and guided you to the right target?
That's the idea behind adaptive precision.
The demo
This is a time picker. Move your cursor into the grid and watch what happens. The cursor morphs from a circle into a bar that snaps to 15-minute slots. Click and drag to create an event.
1 PM
2 PM
3 PM
4 PM
5 PM
The interaction has two modes, and the transition between them is the whole point:
Outside the grid, the cursor is a soft circle. It follows your mouse freely with spring physics — no snapping, no constraints. You're just navigating.
Inside the grid, the cursor transforms into a thin horizontal bar that locks to the nearest time slot. Your coarse mouse movement becomes precise slot selection. The UI is doing the precision work for you.
coarse input, precise output
How the snapping works
The core mechanic is simple. When the mouse enters the grid area, we calculate which 15-minute slot the cursor is closest to and snap to it:
The slot index maps directly to a time. Slot 0 is 1:00 PM, slot 1 is 1:15 PM, slot 4 is 2:00 PM. Sixteen slots total, covering 1 PM to 5 PM.
When we detect the cursor is inside the grid, instead of passing through the raw mouse coordinates, we snap the spring target to the center of the matched slot:
Circle to bar. 28px to 4px tall. 28px to full-width. All through the same spring config, so the shape change feels like a single continuous motion rather than a swap.
The spring stiffness of 400 with damping 40 gives it a snappy feel without overshoot. It settles fast enough that slot-to-slot movement feels responsive, but slow enough that you can perceive the morph.
Drag to create
Click and drag creates a blue selection rectangle that spans from your start slot to wherever you drag. The selection snaps to slot boundaries too — you can't create a 7-minute event, only 15-minute increments.
When the selection is tall enough, a "New Event" label fades in below the time range.
Why this matters
meet the user halfway
There's a fundamental tension in interfaces with fine-grained controls. A 15-minute time slot might only be 20 pixels tall. At normal mouse speed, that's hard to hit precisely. You slow down, overshoot, correct. It's a small friction, but it accumulates.
Adaptive precision resolves this by making the control snap-aware. The cursor's shape change is the key piece of feedback — it tells you "I understand what you're trying to do, and I'm helping." The transition from free movement to snapped precision feels natural because it's physically animated rather than instant.
This isn't a new idea in spirit. Scroll snapping, magnetic docking, even the way Figma snaps objects to guides — they're all forms of the interface adapting its precision to your intent. But making the cursor itself morph to communicate the mode change is what makes this version feel so considered.
The best interfaces don't just respond to input. They anticipate it.