diff --git a/src/components/ProofNumbers.astro b/src/components/ProofNumbers.astro new file mode 100644 index 0000000..098f922 --- /dev/null +++ b/src/components/ProofNumbers.astro @@ -0,0 +1,101 @@ +--- +/** + * ProofNumbers Component + * + * A compact horizontal "stat band" rendered between the social-proof logo + * strip and the services grid on the homepage. Replaces the older + * "Why Choose Us" / "Built for Your Success" benefits grid — the goal is + * to lead with hard, scannable proof points instead of soft adjectives. + * + * Layout: + * - 2 × 2 grid on mobile (} [items] - override the + * default set of proof points. Each `value` is rendered as the large + * headline number, `label` is the one-line caption underneath. + * + * NOTE on the default copy: these numbers are placeholder defaults pending + * stakeholder confirmation — update them against the latest delivery log + * / Google Analytics / Lighthouse run before each release. + */ + +interface ProofItem { + value: string; + label: string; +} + +interface Props { + items?: ProofItem[]; +} + +// TODO(content): confirm these proof numbers with the WorkRoot leadership / +// marketing team before each public release. Defaults reflect the current +// public-facing claims (hero badge: "20+ teams · 11 districts") plus the +// performance budget the site is built against (<2s LCP on 4G). +// +// - "20+ Projects Delivered" — sourced from existing homepage stats array +// - "5★ Client Rating" — every testimonial in this file has +// rating: 5; tighten to "4.9★" once a +// weighted average is available +// - "11 Districts Deployed" — matches hero trust badge copy +// - "< 2s Avg Page Load" — performance budget for the marketing site +// +// If real audited numbers become available, prefer those over these defaults. +const defaultItems: ProofItem[] = [ + { value: '20+', label: 'Projects Delivered' }, + { value: '5★', label: 'Client Rating' }, + { value: '11', label: 'Districts Deployed' }, + { value: '< 2s', label: 'Avg Page Load' }, +]; + +const { items = defaultItems } = Astro.props; +// Cap at 4 — the band is designed as a 4×1 / 2×2 layout and extra entries +// would break the responsive grid. Trim silently rather than overflowing. +const proofItems = items.slice(0, 4); +--- + +
+
+
+ {proofItems.map((item, index) => ( +
0 + ? 'md:border-l md:border-secondary-100 md:dark:border-secondary-800' + : '', + ]} + data-animate="fade-up" + data-delay={String(index * 100)} + > +
+ + {item.value} + +
+
+ {item.label} +
+
+ ))} +
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro index a97c05f..a358051 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -5,30 +5,7 @@ import SEO from '../components/SEO.astro'; import ClientLogos from '../components/ClientLogos.astro'; import InlineLeadForm from '../components/InlineLeadForm.astro'; import HomepageFaq from '../components/HomepageFaq.astro'; - -// Benefits/Features data -const benefits = [ - { - icon: 'rocket', - title: 'Rapid Development', - description: 'Launch your product 3x faster with our agile methodology and proven frameworks.', - }, - { - icon: 'shield', - title: 'Enterprise Security', - description: 'Bank-grade security protocols protecting your data and user privacy.', - }, - { - icon: 'scale', - title: 'Built to Scale', - description: 'Infrastructure that grows with your business, from startup to enterprise.', - }, - { - icon: 'support', - title: '24/7 Support', - description: 'Round-the-clock technical support ensuring your systems run smoothly.', - }, -]; +import ProofNumbers from '../components/ProofNumbers.astro'; // Services data — outcome-led headlines with anchor slugs that deep-link // into the matching detail sections on /services. @@ -293,54 +270,10 @@ const techStack = [ - -
-
-
- Why Choose Us -

Built for Your Success

-

- We don't just write code. We build solutions that drive measurable business results. -

-
- -
- {benefits.map((benefit, index) => ( -
- -
- {benefit.icon === 'rocket' && ( - - - - )} - {benefit.icon === 'shield' && ( - - - - )} - {benefit.icon === 'scale' && ( - - - - )} - {benefit.icon === 'support' && ( - - - - )} -
- -

{benefit.title}

-

{benefit.description}

- - -
-
- ))} -
-
-
+ +