Compare commits
9 Commits
version_1_
...
version_9_
| Author | SHA1 | Date | |
|---|---|---|---|
| 713f411906 | |||
| 86b0470012 | |||
| 7086f45fd8 | |||
| 053eadde2e | |||
| c20f8c6180 | |||
| 1b704febac | |||
| ca5393d06a | |||
|
|
1285cac44b | ||
| 28d2e180c0 |
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #e3deea;
|
||||
--card: #ffffff;
|
||||
--foreground: #1f2027;
|
||||
--primary-cta: #1f2027;
|
||||
--primary-cta-text: #e3deea;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #1f2027;
|
||||
--accent: #627dc6;
|
||||
--background-accent: #627dc6;
|
||||
--background: #0a0a0a;
|
||||
--card: #1a1a1a;
|
||||
--foreground: #f5f5f5;
|
||||
--primary-cta: #dfff1c;
|
||||
--primary-cta-text: #0a0a0a;
|
||||
--secondary-cta: #1a1a1a;
|
||||
--secondary-cta-text: #ffffff;
|
||||
--accent: #8b9a1b;
|
||||
--background-accent: #5d6b00;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1rem;
|
||||
|
||||
@@ -1,171 +1,36 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
|
||||
import HeroSplit from '@/components/sections/hero/HeroSplit';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import ProblemSection from './HomePage/sections/Problem';
|
||||
import ArchitectureSection from './HomePage/sections/Architecture';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplit
|
||||
tag="Clinical Protocol Orchestration"
|
||||
title="Band is the context layer for high-stakes clinical trials."
|
||||
description="Stop losing context between Clinical Evidence, Trial Design, and Regulatory teams. Orchestrate multi-agent workflows that keep evidence attached to decisions."
|
||||
primaryButton={{
|
||||
text: "View Demo", href: "#architecture"}}
|
||||
secondaryButton={{
|
||||
text: "Join Hackathon", href: "https://lablab.ai/ai-hackathons/band-of-agents-hackathon"}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/empty-high-end-workspace-with-advanced-tech-tools-enhancing-productivity_482257-119752.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="problem" data-section="problem">
|
||||
<SectionErrorBoundary name="problem">
|
||||
<AboutTextSplit
|
||||
title="The Cascading Failure"
|
||||
descriptions={[
|
||||
"Clinical trial development is broken by siloed context. Evidence teams synthesize safety signals, but these are often lost in Word docs.", "When the Protocol Design team misinterprets safety signals, the conflict remains hidden until Regulatory catches it during the IND submission—weeks later.", "This cycle happens 2-3 times per trial, costing up to $5M in acceleration value and delaying life-saving treatments."]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProblemSection />
|
||||
|
||||
<div id="architecture" data-section="architecture">
|
||||
<SectionErrorBoundary name="architecture">
|
||||
<FeaturesMediaCarousel
|
||||
tag="Agent Architecture"
|
||||
title="Agentic Coordination"
|
||||
description="Evidence findings, design choices, and regulatory requirements are linked in a single immutable log."
|
||||
items={[
|
||||
{
|
||||
title: "Literature Scout", description: "AI Agent identifies safety signals and patient populations directly from literature.", buttonIcon: "Search", imageSrc: "http://img.b2bpic.net/free-photo/close-up-doctors-completing-medical-form_23-2148733954.jpg"},
|
||||
{
|
||||
title: "Protocol Designer", description: "Generates structured protocols that explicitly link back to core safety data.", buttonIcon: "FileText", imageSrc: "http://img.b2bpic.net/free-photo/digital-filing-storage_1048-12068.jpg"},
|
||||
{
|
||||
title: "Regulatory Agent", description: "Reviewer that flags inconsistencies before they reach the FDA submission phase.", buttonIcon: "Shield", imageSrc: "http://img.b2bpic.net/free-photo/standard-quality-control-collage-concept_23-2149595833.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ArchitectureSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesImageBento
|
||||
tag="Platform Features"
|
||||
title="The Single Workspace"
|
||||
description="Built on top of Band to provide tamper-evident logs and context tracking."
|
||||
items={[
|
||||
{
|
||||
title: "Evidence Linking", description: "Context stays attached to design decisions.", imageSrc: "http://img.b2bpic.net/free-photo/3d-low-poly-abstract-background-with-connecting-lines-dots_1048-11673.jpg"},
|
||||
{
|
||||
title: "Conflict Detection", description: "Conflicts surfaced in real-time.", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-chat-bubbles-with-paper-shape-communication_23-2148796082.jpg"},
|
||||
{
|
||||
title: "Audit Trails", description: "Tamper-evident logs for regulation.", imageSrc: "http://img.b2bpic.net/free-photo/cool-background-blank-wallpaper-place-your-concept_1194-641481.jpg"},
|
||||
{
|
||||
title: "Auto-Briefings", description: "Evidence summarized automatically.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-code-laptop-screen-server-hub-employees-reading-paperwork_482257-122503.jpg"},
|
||||
{
|
||||
title: "Escalation Logic", description: "Automated cross-agent notification.", imageSrc: "http://img.b2bpic.net/free-photo/settings-icon-front-side-white-background_187299-40209.jpg"},
|
||||
{
|
||||
title: "Version Control", description: "Iterate without losing history.", imageSrc: "http://img.b2bpic.net/free-vector/infography-about-world-new-technologies_23-2147568678.jpg"},
|
||||
{
|
||||
title: "IND Drafting", description: "Regulatory outputs structured.", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-business-concept_53876-14498.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsFeatureCards
|
||||
tag="Business Value"
|
||||
title="Quantifiable Acceleration"
|
||||
description="Band reduces trial timelines through proactive coordination and context preservation."
|
||||
metrics={[
|
||||
{
|
||||
value: "2-Week", title: "Timeline Reduction", features: [
|
||||
"Aggressive conflict resolution", "Automated regulatory alignment", "Reduced redesign iterations"],
|
||||
},
|
||||
{
|
||||
value: "$5M", title: "Acceleration Value", features: [
|
||||
"Direct ROI for $50M trials", "Reduced operational burn", "Earlier market entry"],
|
||||
},
|
||||
{
|
||||
value: "100%", title: "Audit Coverage", features: [
|
||||
"Tamper-evident logs", "Traceable context decisions", "Regulatory-ready export"],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Validation"
|
||||
title="Trusted by Researchers"
|
||||
description="Hear from our partners about the impact of the Band orchestration layer."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Dr. Aris Thorne", role: "Head of Research", quote: "Band transforms our agent workflows. Context no longer gets lost in the shuffle.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-health-worker-special-equipment_23-2148980746.jpg"},
|
||||
{
|
||||
name: "Elena Vance", role: "Regulatory Specialist", quote: "The early conflict detection in Band saved our latest IND from a massive delay.", imageSrc: "http://img.b2bpic.net/free-photo/vintage-style-people-working-office-with-computers_23-2149850980.jpg"},
|
||||
{
|
||||
name: "Marcus Chen", role: "Trial Architect", quote: "Finally, an agent-first workspace that actually respects clinical trial structure.", imageSrc: "http://img.b2bpic.net/free-photo/elderly-businessman-with-laptop_23-2148116267.jpg"},
|
||||
{
|
||||
name: "Sarah Miller", role: "BioTech VP", quote: "The acceleration potential is massive. This is a game-changer for trial design.", imageSrc: "http://img.b2bpic.net/free-photo/senior-business-woman-smiling_1187-1564.jpg"},
|
||||
{
|
||||
name: "James L. Doe", role: "Lead Data Scientist", quote: "Context tracking that just works across all our trial agents.", imageSrc: "http://img.b2bpic.net/free-photo/concerned-middle-aged-man-wearing-white-t-shirt-with-tie-crossing-hands-isolated-orange-wall_141793-83158.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTabbedAccordion
|
||||
tag="FAQ"
|
||||
title="Common Questions"
|
||||
description="Learn more about how Band helps optimize your clinical trials."
|
||||
categories={[
|
||||
{
|
||||
name: "Platform", items: [
|
||||
{
|
||||
question: "What is Band?", answer: "Band is the orchestration layer that allows AI agents to communicate context securely in clinical workflows."},
|
||||
{
|
||||
question: "Is this compliant?", answer: "Yes, Band provides tamper-evident logs suitable for audit trails in regulated clinical environments."},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Integration", items: [
|
||||
{
|
||||
question: "Can it integrate with EHR?", answer: "Band is agent-agnostic and connects to existing research databases and document repositories."},
|
||||
{
|
||||
question: "How do agents coordinate?", answer: "Agents communicate through Band's centralized workspace, ensuring every design choice links back to the original evidence."},
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Join the Hackathon"
|
||||
text="Ready to build the future of clinical orchestration with Band?"
|
||||
primaryButton={{
|
||||
text: "Band Documentation", href: "https://www.band.ai/"}}
|
||||
secondaryButton={{
|
||||
text: "View on Lablab", href: "https://lablab.ai/ai-hackathons/band-of-agents-hackathon"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
28
src/pages/HomePage/sections/Architecture.tsx
Normal file
28
src/pages/HomePage/sections/Architecture.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "architecture" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ArchitectureSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="architecture" data-section="architecture">
|
||||
<SectionErrorBoundary name="architecture">
|
||||
<FeaturesMediaCarousel
|
||||
tag="Agent Architecture"
|
||||
title="Agentic Coordination"
|
||||
description="Evidence findings, design choices, and regulatory requirements are linked in a single immutable log."
|
||||
items={[
|
||||
{
|
||||
title: "Literature Scout", description: "AI Agent identifies safety signals and patient populations directly from literature.", buttonIcon: "Search", imageSrc: "http://img.b2bpic.net/free-photo/close-up-doctors-completing-medical-form_23-2148733954.jpg"},
|
||||
{
|
||||
title: "Protocol Designer", description: "Generates structured protocols that explicitly link back to core safety data.", buttonIcon: "FileText", imageSrc: "http://img.b2bpic.net/free-photo/digital-filing-storage_1048-12068.jpg"},
|
||||
{
|
||||
title: "Regulatory Agent", description: "Reviewer that flags inconsistencies before they reach the FDA submission phase.", buttonIcon: "Shield", imageSrc: "http://img.b2bpic.net/free-photo/standard-quality-control-collage-concept_23-2149595833.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
23
src/pages/HomePage/sections/Contact.tsx
Normal file
23
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "contact" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Join the Hackathon"
|
||||
text="Ready to build the future of clinical orchestration with Band?"
|
||||
primaryButton={{
|
||||
text: "Band Documentation", href: "https://www.band.ai/"}}
|
||||
secondaryButton={{
|
||||
text: "View on Lablab", href: "https://lablab.ai/ai-hackathons/band-of-agents-hackathon"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Faq.tsx
Normal file
38
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTabbedAccordion
|
||||
tag="FAQ"
|
||||
title="Common Questions"
|
||||
description="Learn more about how Band helps optimize your clinical trials."
|
||||
categories={[
|
||||
{
|
||||
name: "Platform", items: [
|
||||
{
|
||||
question: "What is Band?", answer: "Band is the orchestration layer that allows AI agents to communicate context securely in clinical workflows."},
|
||||
{
|
||||
question: "Is this compliant?", answer: "Yes, Band provides tamper-evident logs suitable for audit trails in regulated clinical environments."},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Integration", items: [
|
||||
{
|
||||
question: "Can it integrate with EHR?", answer: "Band is agent-agnostic and connects to existing research databases and document repositories."},
|
||||
{
|
||||
question: "How do agents coordinate?", answer: "Agents communicate through Band's centralized workspace, ensuring every design choice links back to the original evidence."},
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
36
src/pages/HomePage/sections/Features.tsx
Normal file
36
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesImageBento
|
||||
tag="Platform Features"
|
||||
title="The Single Workspace"
|
||||
description="Built on top of Band to provide tamper-evident logs and context tracking."
|
||||
items={[
|
||||
{
|
||||
title: "Evidence Linking", description: "Context stays attached to design decisions.", imageSrc: "http://img.b2bpic.net/free-photo/3d-low-poly-abstract-background-with-connecting-lines-dots_1048-11673.jpg"},
|
||||
{
|
||||
title: "Conflict Detection", description: "Conflicts surfaced in real-time.", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-chat-bubbles-with-paper-shape-communication_23-2148796082.jpg"},
|
||||
{
|
||||
title: "Audit Trails", description: "Tamper-evident logs for regulation.", imageSrc: "http://img.b2bpic.net/free-photo/cool-background-blank-wallpaper-place-your-concept_1194-641481.jpg"},
|
||||
{
|
||||
title: "Auto-Briefings", description: "Evidence summarized automatically.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-code-laptop-screen-server-hub-employees-reading-paperwork_482257-122503.jpg"},
|
||||
{
|
||||
title: "Escalation Logic", description: "Automated cross-agent notification.", imageSrc: "http://img.b2bpic.net/free-photo/settings-icon-front-side-white-background_187299-40209.jpg"},
|
||||
{
|
||||
title: "Version Control", description: "Iterate without losing history.", imageSrc: "http://img.b2bpic.net/free-vector/infography-about-world-new-technologies_23-2147568678.jpg"},
|
||||
{
|
||||
title: "IND Drafting", description: "Regulatory outputs structured.", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-business-concept_53876-14498.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
18
src/pages/HomePage/sections/Hero.tsx
Normal file
18
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,18 @@
|
||||
// Created by add_section_from_catalog (HeroBrand).
|
||||
|
||||
import React from 'react';
|
||||
import HeroBrand from '@/components/sections/hero/HeroBrand';
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="hero" id="hero">
|
||||
<HeroBrand
|
||||
imageSrc="http://img.b2bpic.net/free-photo/empty-high-end-workspace-with-advanced-tech-tools-enhancing-productivity_482257-119752.jpg"
|
||||
primaryButton={{"text":"View Demo","href":"#architecture"}}
|
||||
description="The context layer for high-stakes clinical trials. Stop losing context between Clinical Evidence, Trial Design, and Regulatory teams. Orchestrate multi-agent workflows that keep evidence attached to decisions."
|
||||
brand="Band"
|
||||
secondaryButton={{"href":"https://lablab.ai/ai-hackathons/band-of-agents-hackathon","text":"Join Hackathon"}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
34
src/pages/HomePage/sections/Metrics.tsx
Normal file
34
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "metrics" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsFeatureCards
|
||||
tag="Business Value"
|
||||
title="Quantifiable Acceleration"
|
||||
description="Band reduces trial timelines through proactive coordination and context preservation."
|
||||
metrics={[
|
||||
{
|
||||
value: "2-Week", title: "Timeline Reduction", features: [
|
||||
"Aggressive conflict resolution", "Automated regulatory alignment", "Reduced redesign iterations"],
|
||||
},
|
||||
{
|
||||
value: "$5M", title: "Acceleration Value", features: [
|
||||
"Direct ROI for $50M trials", "Reduced operational burn", "Earlier market entry"],
|
||||
},
|
||||
{
|
||||
value: "100%", title: "Audit Coverage", features: [
|
||||
"Tamper-evident logs", "Traceable context decisions", "Regulatory-ready export"],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
20
src/pages/HomePage/sections/Problem.tsx
Normal file
20
src/pages/HomePage/sections/Problem.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "problem" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProblemSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="problem" data-section="problem">
|
||||
<SectionErrorBoundary name="problem">
|
||||
<AboutTextSplit
|
||||
title="The Cascading Failure"
|
||||
descriptions={[
|
||||
"Clinical trial development is broken by siloed context. Evidence teams synthesize safety signals, but these are often lost in Word docs.", "When the Protocol Design team misinterprets safety signals, the conflict remains hidden until Regulatory catches it during the IND submission—weeks later.", "This cycle happens 2-3 times per trial, costing up to $5M in acceleration value and delaying life-saving treatments."]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
32
src/pages/HomePage/sections/Testimonials.tsx
Normal file
32
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Validation"
|
||||
title="Trusted by Researchers"
|
||||
description="Hear from our partners about the impact of the Band orchestration layer."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Dr. Aris Thorne", role: "Head of Research", quote: "Band transforms our agent workflows. Context no longer gets lost in the shuffle.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-health-worker-special-equipment_23-2148980746.jpg"},
|
||||
{
|
||||
name: "Elena Vance", role: "Regulatory Specialist", quote: "The early conflict detection in Band saved our latest IND from a massive delay.", imageSrc: "http://img.b2bpic.net/free-photo/vintage-style-people-working-office-with-computers_23-2149850980.jpg"},
|
||||
{
|
||||
name: "Marcus Chen", role: "Trial Architect", quote: "Finally, an agent-first workspace that actually respects clinical trial structure.", imageSrc: "http://img.b2bpic.net/free-photo/elderly-businessman-with-laptop_23-2148116267.jpg"},
|
||||
{
|
||||
name: "Sarah Miller", role: "BioTech VP", quote: "The acceleration potential is massive. This is a game-changer for trial design.", imageSrc: "http://img.b2bpic.net/free-photo/senior-business-woman-smiling_1187-1564.jpg"},
|
||||
{
|
||||
name: "James L. Doe", role: "Lead Data Scientist", quote: "Context tracking that just works across all our trial agents.", imageSrc: "http://img.b2bpic.net/free-photo/concerned-middle-aged-man-wearing-white-t-shirt-with-tie-crossing-hands-isolated-orange-wall_141793-83158.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user