Portrait Overlay Testimonials

Put a short customer statement inside the same photographic frame as its speaker. Portrait Overlay uses an image-backed card grid, dark gradients and bottom-aligned attribution, with staggered entrance motion when the section enters view. It favors concise quotes whose meaning remains clear over the photograph.

What you get

  • A React/TypeScript TestimonialSection and three-record demo, accepting title, subtitle and records with id, quote, name, role and imageSrc. Cards stack at base width, use two columns from medium and three from large. Copy and maintain the source within your project rather than treating it as a versioned package.
  • Portraits with dark gradients beneath bottom-aligned white quote/attribution overlays. The grid enters once when 20% visible, staggering cards by 0.2 seconds with 0.5-second fade/up transitions. It has no selection, rotation or hidden quote-reveal interaction.
  • Editable source, imagery/icon/theme references and a source-check script. Actual portraits and WOFF 2 fonts are absent from the archive; only local paths are supplied. React, framer-motion, Lucide and host utility/theme styling are required.
  • The written visual contract defines warm paper/teal light tokens, dark roles, Outfit body type, Sora headings and a 0.875rem base radius. It calls for restrained motion and inline SVG icons with 1.5 px square-cap strokes; real vendor marks should be monochrome and visibly named. Reconcile the actual classes, images and animation with those rules, including any fixed values.

Before you choose

Compare this with Dark Portrait when selecting a layout. Overlay puts the words on the photograph; a separate quote area is often clearer when statements are longer or portrait backgrounds are busy.

Good fit

  • You have several short approved statements and portraits that support a photo-led evidence section.
  • The speaker’s identity and role need to stay close to the words without requiring a separate detail view.
  • Your team wants control of the source and can inspect the overlay contrast, motion and responsive behavior with its own content.

Not for

  • Long customer stories that would obscure most of the portrait or require tiny text to remain inside the card.
  • Automatically verifying testimony, fetching social posts or implementing navigation, forms, sign-in and payment flows.
  • A guarantee that the same gradient is readable on every photograph or that the authored palette matches an established design system without adaptation.

How to use

You say/testimonial-portrait-overlay Add the Portrait Overlay Testimonials section to the landing page for [product name]. Use the quotes, names and portraits I provide; do not invent testimonials. Follow the existing page framework and styling.
  1. Inspect the host framework, client boundary, styling and framer-motion/Lucide imports before copying section/demo. Adapt to existing component conventions; another framework needs a real port, with standalone HTML only for an explicit standalone output.

  2. Prepare complete quote records and replace image, name, role and wording together. Keep record IDs stable and unique and confirm that portraits and statements are approved for this use.

  3. The written visual contract defines warm paper/teal light tokens, dark roles, Outfit body type, Sora headings and a 0.875rem base radius. It calls for restrained motion and inline SVG icons with 1.5 px square-cap strokes; real vendor marks should be monochrome and visibly named. Reconcile the actual classes, images and animation with those rules, including any fixed values. Supply local portraits/fonts because the archive contains no media binaries. Use accurate person/name/role/quote pairings and suitable local WebP sizing. Follow the separate abstract-slot rule only when adapting invert/blend/contain artwork, not for ordinary portrait slots.

  4. Fit each statement to the actual photograph and card dimensions. Check the subject’s face and the busiest image area behind the text; adjust crop, overlay or quote length without changing the approved meaning. The image uses the h-120 utility and the card clips overflow while the entire text block is absolutely bottom-aligned. Resolve that utility in the host and inspect long-copy bounds; fitting into the data array does not guarantee all text remains visible.

  5. Run the package’s block checks and separately inspect phone and desktop layouts. Test long names, the longest quote, in-view animation, reduced motion, image alternatives and text contrast. Passing the example’s static checks does not establish fit for every replacement. There is no dedicated reduced-motion branch; add one where the host requires it. Reconcile nonstandard text-card-white/100 with the actual theme instead of assuming the class is defined.

Requirements and costs

You bring
Not collected yet
Dependencies
Not collected yet
Outside costs
Not collected yet
Publisher testing
v1.0.1 — Claude Code / Claude Desktop / Cowork / Codex / ChatGPT

FAQ

User reviews

—0 reviews

Select a star to share your experience.

No reviews yet. Ratings appear once readers share real experiences.

Similar Skills

View all skills