Skip to main content

SIDE BUILD · BUILT TO UNDERSTAND · MICRO-INTERACTION · ACCESSIBLE MOTION

The Help Center is an anxiety surface — so motion’s only job is to lower anxiety

People open order tracking when something feels wrong — a late order, money on the line. So the tracking moment has exactly one job: lower anxiety. Slow, breathing motion instead of hype; an honest, legible state machine; and a reduced-motion path that still tells you exactly what’s happening. Built in React and Framer Motion, accessible by default.

Your order has been placed.

Toggle Functional ↔ Polished to see the difference. Turn on your OS “reduce motion” setting and the animation stops — but the status is still announced.

WHAT I DID

01

Framed the order-tracking moment as an anxiety surface, not a delight surface — every motion decision tuned to lower anxiety rather than to impress.

02

Built the interaction in React + Framer Motion to production fidelity: an auto-advancing state machine, a route that draws as the order progresses, and a GPS-style rider dot with a breathing "live" halo between a restaurant and home marker.

03

Defined the calm motion language as a single tunable token set — timing, easing, and the breathing cycle — so the whole system stays legible and consistent rather than scattered across components.

04

Made accessibility the headline, not the fallback: a prefers-reduced-motion path that drops all motion yet still announces every status change through an ARIA live region, fully keyboard-operable controls, and a Pause control for the auto-advancing content.

05

Added a Functional ↔ Polished toggle that demonstrates the exact jump from a working baseline to a high-quality, accessible experience.

THE PRINCIPLE

The people most stressed by a late order are the ones a flashy animation helps least.

So restraint is the craft here, not decoration: slow, breathing motion; an honest, legible state machine; and a reduced-motion path that still tells you exactly what’s happening. Deployed and accessible by default — because that is what a service surface actually owes the person reading it.

Micro-interactionFramer MotionAccessibilityReduced MotionReactSVG