Small moments of feedback, generated
The difference between a flat interface and one that feels crafted is usually a layer of micro-interactions: the subtle confirmation when you tap a button, the way a toggle eases between states, the gentle shake when a field rejects input. This tool generates concepts for these moments, each described by a clear trigger, the feedback, and a timing.
How it works
Every micro-interaction the tool produces follows the standard structure interaction designers use:
- Trigger — what kicks it off (a click, a hover, a successful submit, a drag, an idle timeout).
- Feedback — what the user perceives in response (a color shift, a scale bounce, a checkmark draw-on, a subtle haptic, a ripple).
- Timing — duration and easing, kept in the perceptually-natural range so it neither drags nor snaps.
A generate picks one option from each layer and assembles a concept. Because timing is tied to the type of feedback (entrances are a touch slower than confirmations), the combinations stay believable.
Why timing is the hardest part
Getting the trigger and feedback right is relatively straightforward: a button click should confirm the action, a toggle should visually switch states. Timing is where most attempts go wrong. Feedback that lasts longer than around 300 ms on a repeated action — submitting a form, tapping list items — compounds into perceptible lag. Feedback shorter than about 80 ms disappears before the eye can register it, making the UI feel unresponsive even though it responded. The generated timing suggestions stay in this perceptually natural range by design.
Easing matters almost as much as duration. A linear transition looks mechanical; a slight ease-out (fast start, gentle finish) mimics how physical objects decelerate and feels natural. An ease-in-out (slow start, fast middle, slow finish) suits toggles that need to feel deliberate.
Example concepts
A generated concept might look like this:
- Trigger: User successfully submits a form
- Feedback: A checkmark icon draws on from left to right, the submit button briefly scales up to 1.05 then returns
- Timing: 200 ms, ease-out
Or for an error state:
- Trigger: Form field fails validation on blur
- Feedback: Field border shifts to red, a gentle horizontal shake of 4 px travels left-right twice
- Timing: 120 ms shake, instant color change
Neither of these are flashy. That is the point — great micro-interactions are noticed only in their absence.
Practical guidance
- Generate concepts for the three or four highest-frequency interactions first: the primary action button, the key form field, the navigation toggle. Those earn the most polish return.
- Respect reduced-motion preferences. Every concept here can be expressed as a simple opacity fade or color change if the user has
prefers-reduced-motion: reduceset — keep that fallback defined. - One strong micro-interaction beats five competing ones. If every button bounces, nothing feels special. Use these prompts to decide where polish belongs, not to animate everything.
- Treat each concept as a starting point for prototyping, not a final spec. Tune duration and easing against your real content and test on low-powered devices where animation performance varies.