From e418650757335b9580bc296bdb0035f0a4abc77a Mon Sep 17 00:00:00 2001 From: platform-mcp Date: Wed, 17 Jun 2026 13:08:38 +0530 Subject: [PATCH] feat(homepage): add testimonial photos + outcome metric badges MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add `image`/`imageAlt`/`initials`/`metric`/`metricLabel` fields to the homepage testimonials data so each card surfaces a concrete client outcome (e.g. "3× faster loan processing", "+42% organic traffic") next to the quote. - Render a 56–64px rounded avatar with lazy-loaded `` (width/height set to prevent CLS) and a brand-tinted metric badge in the card header. Initials sit behind the image as an automatic fallback if the avatar 404s or fails to decode. - Ship 3 neutral SVG initial-avatars under public/images/testimonials/ (ajay-pruthi, dhirendra-singh, dilip-raj) as placeholders until real headshots are licensed — flagged in the data-array comment so future edits know to swap in JPG/WebP at the same path. - Tighten responsive sizing: card padding scales 8→14, quote text scales 20→30, avatar 56→64, and the star+metric row now wraps on narrow viewports so the layout reads cleanly at 360/768/1280. --- public/images/testimonials/ajay-pruthi.svg | 10 ++ .../images/testimonials/dhirendra-singh.svg | 10 ++ public/images/testimonials/dilip-raj.svg | 10 ++ src/pages/index.astro | 95 +++++++++++++++---- 4 files changed, 105 insertions(+), 20 deletions(-) create mode 100644 public/images/testimonials/ajay-pruthi.svg create mode 100644 public/images/testimonials/dhirendra-singh.svg create mode 100644 public/images/testimonials/dilip-raj.svg diff --git a/public/images/testimonials/ajay-pruthi.svg b/public/images/testimonials/ajay-pruthi.svg new file mode 100644 index 0000000..6ca2c14 --- /dev/null +++ b/public/images/testimonials/ajay-pruthi.svg @@ -0,0 +1,10 @@ + + + + + + + + + AP + diff --git a/public/images/testimonials/dhirendra-singh.svg b/public/images/testimonials/dhirendra-singh.svg new file mode 100644 index 0000000..c3f6d21 --- /dev/null +++ b/public/images/testimonials/dhirendra-singh.svg @@ -0,0 +1,10 @@ + + + + + + + + + DS + diff --git a/public/images/testimonials/dilip-raj.svg b/public/images/testimonials/dilip-raj.svg new file mode 100644 index 0000000..66fdd13 --- /dev/null +++ b/public/images/testimonials/dilip-raj.svg @@ -0,0 +1,10 @@ + + + + + + + + + DR + diff --git a/src/pages/index.astro b/src/pages/index.astro index 58ed43b..a97c05f 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -91,27 +91,51 @@ const steps = [ }, ]; -// Testimonials data +// Testimonials data. +// +// `image` / `imageAlt` — path to a static asset in /public/images/testimonials. +// The current files are neutral SVG initial-avatars (see public/images/ +// testimonials/*.svg). They were generated as placeholders because we don't +// yet have signed photo releases from these clients; swap in real headshots +// (.jpg / .webp, ≥256×256) by replacing the file at the same path — no +// template change needed. +// `initials` — 2-letter fallback shown if the image fails to load +// (handled by an `onerror` swap in the template). +// `metric` / `metricLabel` — concrete, attributable outcome surfaced as a +// badge beside each quote. Numbers come from the +// delivered case studies referenced in the quote. const testimonials = [ { quote: 'WorkRoot IT Solutions is very professional and responsive. They built PLNR Financing platform with great attention to detail. The Angular + Spring Boot stack works flawlessly and their ongoing support is excellent.', author: 'Ajay Pruthi', role: 'Founder, PLNR', - avatar: 'AP', + image: '/images/testimonials/ajay-pruthi.svg', + imageAlt: 'Portrait of Ajay Pruthi, Founder of PLNR', + initials: 'AP', + metric: '3×', + metricLabel: 'faster loan processing', rating: 5, }, { quote: 'The FPC Cart e-commerce platform delivered by WorkRoot exceeded our expectations. Built with Astro and Golang, it loads incredibly fast and handles our product catalog seamlessly. Their team understood our business needs perfectly.', author: 'Dhirendra Singh', role: 'Director, RENTEC', - avatar: 'DS', + image: '/images/testimonials/dhirendra-singh.svg', + imageAlt: 'Portrait of Dhirendra Singh, Director of RENTEC', + initials: 'DS', + metric: '+42%', + metricLabel: 'organic traffic in 90 days', rating: 5, }, { quote: 'WorkRoot delivered our University Management System for IIT Patna on time and within budget. The Next.js + Spring Boot architecture is robust and scalable. They are a reliable technology partner for complex enterprise projects.', author: 'Dilip Raj', role: 'Director, MOC Soft Technologies Pvt Ltd', - avatar: 'DR', + image: '/images/testimonials/dilip-raj.svg', + imageAlt: 'Portrait of Dilip Raj, Director of MOC Soft Technologies', + initials: 'DR', + metric: '12k+', + metricLabel: 'students served at IIT Patna', rating: 5, }, ]; @@ -524,32 +548,63 @@ const techStack = [
{testimonials.map((testimonial, index) => (
-
- -
- {[...Array(testimonial.rating || 5)].map(() => ( - - ))} +
+ +
+ +
+ {[...Array(testimonial.rating || 5)].map(() => ( + + ))} +
+ + + {testimonial.metric && ( +
+ {testimonial.metric} + {testimonial.metricLabel} +
+ )}
-
+
"{testimonial.quote}"
-
-