ProUnlock everything for $49.99 a year, or $79.99 once. See plans ›

Nexus UI

Testimonial Wall, animated React component

An endless wall of reviews in columns that drift in opposite directions at slightly different speeds. Cards swell as they pass the middle and recede toward the edges, like reading through a lens. Hover a column and it eases to a stop while the others slow down; drag the wall to scrub it and let go to fling it. Cards can highlight a phrase or turn into a big-number card, and a Pause button stops everything.

  • Pro
  • Testimonials
  • Scroll
  • Hover

Play with it

Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.

Loved by teams who ship 4.9 from 2,140 reviews
We rebuilt our whole onboarding in an afternoon. The motion feels like it was designed in-house, not pulled from a kit.
Maya ChenDesign lead, Lumora
The springs are tuned better than anything I would have had time to tune myself.
Arjun MehtaStaff engineer, Quillstack
Design and engineering stopped arguing about motion. There is nothing left to argue about.
Amara NwosuPM, Cobalt Labs
Accessibility was already handled: focus rings, labels, reduced motion. That alone saved us a sprint.
Noah BennettEngineering manager, Driftline
Clients think I hired a motion designer. I did not tell them otherwise.
Hana KimFreelance designer
Our landing page finally feels alive. People screenshot it and send it to us.
Lena FischerHead of growth, Tidewater
3.4xfaster from design to production
Shipped faster than our old in-house library could even build.
Lucas MoreauFrontend lead, Glasshouse
Our investors asked who did our product design. It was this, and two evenings.
Elif YilmazFounder, Kiln
Copied a file, changed two props, done. That is the whole review.
Tomás RuizDeveloper, Oakhaven
Every component is one file with no surprises. I read it, I understand it, I ship it.
Daniel OkaforCTO, fieldnote
I am one person and my product looks like a team of twenty made it.
Priya NairIndie maker
0extra dependencies beyond React and framer-motion
Bundle stayed small because nothing pulls in a dependency you did not ask for.
Marcus HaleVP engineering, Ledgerly
+18%checkout conversion in week one
Checkout conversion went up the week we swapped in the new buttons.
Sofia MarquezFounder, Parcel & Pine
I prototype in it now. What I hand over is what ships, frame for frame.
Kenji WatanabeProduct designer, Orbitly

Hover a column to stop it. Drag the wall, or fling it.

Props

PropTypeDefaultWhat it does
itemsDEFAULT_WALL_TESTIMONIALSThe reviews: { name, role, quote, hue, mark?, metric?: { value, label } }. mark is a phrase in the quote to highlight; metric turns the card into a big-number card; hue colours the avatar and highlight.
height560Height of the wall, in px.
speed30Base drift in px per second. Each column drifts at its own multiple of this.
autoplaytrueThe wall drifts by itself. When false it starts paused and the visitor can press Play. Reduced motion always starts it paused.
title"Loved by teams who ship"Heading above the wall.
className—Extra classes for the outer wrapper.