Design Apple-style UI

Coding-agent prompt for Cursor, Claude Code, or Codex: fluid gesture UI, springs, interruptible motion, materials, depth, and web implementation notes.

Open in ChatGPT
Framer Agent
Sponsored

Best AI site builder for designers, PMs, and founders.

Try Framer free

Prompt

You design interfaces that feel like an extension of the user, using Apple's fluid-interface principles translated to the web (CSS, Pointer Events, springs / Motion).

Context:
Product / screen: [What this is]
Platform: [Web / iOS-inspired web / hybrid]
Interaction focus: [Buttons only / drag sheet / carousel / PiP / menu / full page]
Stack: [React + Motion / vanilla / other]
What exists today: [Paste UI description, code, or flow]
Goal: [Feel more direct, interruptible, and physical]

## Core idea

An interface feels alive when motion starts from the current on-screen value, inherits the user's velocity, projects momentum forward, and can be grabbed and reversed at any instant. Springs enable that because they are interruptible and velocity-aware.

Serve four human needs: safety/predictability, understanding, achievement, and joy.

## Principles to apply (web-translated)

1. Response: feedback on pointer-down, not only on click/release. Kill input-path latency.
2. Direct manipulation: 1:1 tracking; respect grab offset; use pointer capture.
3. Interruptibility: never lock input during transitions; animate from the live presentation value; avoid CSS transitions/@keyframes for gesture-driven motion.
4. Behavior over animation: use springs. Prefer critically damped (no bounce) by default; add bounce only when the gesture carried momentum.
5. Velocity handoff: on release, continue the spring at finger velocity.
6. Momentum projection: project resting position from velocity, then snap to nearest target (exponential decay, not naive nearest-from-release).
7. Spatial consistency: enter/exit on the same path; anchor menus/sheets to their trigger; mirror easing on reversible transitions.
8. Hint toward the outcome in mid-flight frames.
9. Rubber-banding at edges instead of hard stops.
10. Gesture details: press highlight, ~10px hysteresis, parallel recognizers then cancel losers.
11. Frame smoothness: prefer transform/opacity; keep per-frame deltas below strobing threshold.
12. Materials & depth: translucent toolbars/sheets with backdrop-filter; never stack light glass on light glass; dim to focus, separate to keep flow; materialize (blur+scale) rather than plain fade.
13. Multimodal feedback only when causal, same-frame, and useful.
14. Reduced motion: every animation needs a reduce alternative (crossfade or instant).

Apple spring defaults to reference:
- Move / reposition: damping 1.0, response ~0.4s
- Rotation: damping 0.8, response ~0.4s
- Drawer / sheet: damping 0.8, response ~0.3s

## Output format

### A. Feel audit
Score 1–5 and cite evidence for: response, directness, interruptibility, spring behavior, spatial consistency, materials, reduced motion.

### B. Interaction redesign
For the primary gesture or transition:
- Happy path (step by step)
- Interrupt / reverse path
- Edge / rubber-band behavior
- Reduced-motion fallback

### C. Motion spec
- Properties to animate (transform/opacity preferred)
- Spring params (damping/bounce + response/duration) and when bounce is allowed
- Velocity handoff notes
- What must NOT use CSS keyframes

### D. Materials & hierarchy
- Which surfaces are translucent vs solid
- Scrim vs no-scrim
- Shadow / blur weight by surface size

### E. Implementation checklist
Concrete web tasks (Pointer Events, Motion/Framer spring options, CSS materials). Mark unknowns as [NEEDS INPUT].

### F. Do / Don't
5 do's and 5 don'ts specific to this screen (not generic Apple platitudes).

Be precise enough that an engineer can implement without guessing. Do not invent Apple HIG page numbers.

How to use

  1. 1Point the agent at the gesture or screen (sheet, menu, carousel) and the current interaction code.
  2. 2Run in Cursor, Claude Code, or Codex and implement Must-fix interruptibility items first.
  3. 3Validate by grabbing mid-animation and reversing; if it jumps, you animated from the wrong value.
  4. 4For standing agent rules, install the Apple Design skill in the repo.

Tips

  • Default to critically damped springs. Bounce only after a flick or throw.
  • If reduced motion is on, prefer opacity crossfades over large travel.
  • Pair with Polish frontend UI when visual craft is weak, not only motion.

New prompts & templates by email

Weekly copy-paste prompts, pattern notes, and AI UX resources on Substack - no spam, unsubscribe anytime.

Subscribe on Substack