For anyone shipping UI that moves
Motion ReviewYour animation code against a high craft bar. Default to flagging; approval is earned.
Paste the CSS or the React components behind your UI's motion. Your browser lists every animation it can read with its duration against the budget for its element and its curve plotted against a strong ease-out, and flags the triggers on sight: transition: all, scale(0), ease-in, slow UI, layout properties, keyframed toasts, animated shortcuts, ungated hover and missing reduced motion. Then the review writes the Before / After / Why table and decides Block or Approve - and a re-review checks what your fixes resolved.
The motion code free
The page's reading free
Every animation, with its budget - press Play to watch it at its own speed and curve
The triggers, at their lines
The curves
The review metered
Pricing as soon as the session is ready...
Sign inThe reply could not be read. Here it is as it came back:
Caveats
The page's check of this reply
Saved reviews
How it works - and what it cannot see
The page parses the CSS itself - rules, nested rules, media queries, @starting-style and @keyframes, with custom properties resolved - and reads Motion props, transition objects, element.animate() and GSAP tweens line by line in script. An element's kind (tooltip, dropdown, modal, toast ...) comes from its selector or class name, and sets the duration budget from the review's table. A curve is classed as ease-in when it starts slow and ends hard; the three strong curves the standards name are recognised exactly.
It cannot see the motion run, how often people trigger it, whether it has a purpose, or whether it matches the product's personality - that is what the review judges, from your code and what you say about it. Every reply goes back through the page: a Before that is not the code at its line, an After that still uses scale(0) or ease-in, a page finding left uncalled, or an Approve over a confirmed block trigger is flagged, not trusted. When feel is uncertain, review it in slow motion or frame by frame.