Skip to content

Conversation

@eclecticv
Copy link

@eclecticv eclecticv commented Dec 17, 2025

Summary

This PR redesigns the homepage hero section with improved visual hierarchy and addresses code maintainability issues identified in review.

Hero Section Redesign

  • Refined color scheme: Navy blue CTAs (--color-primary-900) on light blue background (--color-primary-100)
  • Improved typography: Better spacing, line heights, and max-widths for cleaner presentation
  • Redesigned hero points: Vertical card layout with frosted glass effect, centered alignment
  • Enhanced visual hierarchy: Clearer content structure throughout the hero section

Design System Improvements

  • Moved reusable styles to design system: Created .hero-point, .hero-point-icon, .hero-point-text classes in design-system.css for reuse across the site
  • Replaced hardcoded colors: All hex colors now use CSS custom properties from the design system
  • Replaced hardcoded spacing: All spacing values now use design system variables
  • Maintains single source of truth: Page-specific Docusaurus overrides remain in index.html but reference design system tokens

Code Maintainability

  • Formatted HTML for readable diffs: Reformatted index.html from 354 lines (with massive single-line blob) to 705 properly formatted lines
  • Better git diffs: Future changes will show line-by-line diffs instead of entire page changes
  • Added formatting tools: Installed prettier and js-beautify for consistent HTML formatting

Test plan

  • Verify hero section renders correctly on desktop
  • Check mobile responsiveness
  • Test CTA button hover states
  • Validate color contrast for accessibility
  • Confirm no visual regressions from formatting changes

Addresses Review Feedback

  • Addresses @bokelley's feedback about moving styles to design system for reusability
  • Addresses @bokelley's feedback about HTML blob making diffs difficult to review

🤖 Generated with Claude Code

eclecticv and others added 3 commits December 17, 2025 14:46
- Remove "AdCP:" prefix from hero title for cleaner presentation
- Add non-breaking spaces to prevent orphan words in title, subtitle, and hero points
- Stack hero points vertically (icon above text) for better visual flow
- Remove line breaks between bold headings and descriptions in hero points
- Implement consistent vertical rhythm (1.5rem → 2.5rem → 3rem spacing)
- Tighten line-heights: H1 to 1.2, subtitle to 1.4 for more impact
- Add max-width constraints (700px title, 650px subtitle, 220px per point)
- Increase hero point description text to 1.05rem for better balance
- Remove "View on GitHub" button from hero CTA section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Update hero subtitle text to describe AdCP as open-source interoperable protocol
- Condense hero point descriptions to 9-11 words each for better scannability
- Standardize all hero text to 1.2 line-height for tight, modern display typography
- Remove gap between emoji icons and feature text for cohesive appearance
- Add explicit 4rem top/bottom padding to hero section for balanced spacing
- Tighten release banner spacing with reduced gaps and consistent padding

Typography improvements create more impactful, professional hero presentation
while maintaining readability and visual hierarchy.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Color scheme updates:
- Hero background: Light pastel blue (#e6f2ff) for clean, modern feel
- Notification bar: Navy blue (adcontextprotocol#80) for strong contrast
- Primary CTA: Navy button with white outline secondary option
- Hero point cards: Translucent white (50% opacity) with glass effect
- Text colors: Black titles, dark grey (#333333) body text

CTA simplification:
- Single primary "Start Building" button (large)
- Secondary action as subtle text link below: "Or try it live →"
- Vertical stack with minimal spacing for cohesive presentation

Card design refinements:
- Individual translucent containers for each hero point
- Removed borders for cleaner aesthetic
- 8px rounded corners with backdrop blur
- Centered layout with 1.5rem horizontal spacing

These changes create a sophisticated, lightweight design that emphasizes
the content while maintaining clear visual hierarchy and modern aesthetics.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 17, 2025

All contributors have agreed to the IPR Policy. Thank you!
Posted by the CLA Assistant Lite bot.

@eclecticv
Copy link
Author

I have read the IPR Policy

}

/* Stack hero points vertically */
.point__uAb {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thoughts on this being here vs the overall design system css so we can reuse elsewhere?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will need to review design-system.css. I focussed on making manual edits to only the hero section because it's the first thing people see. But yeah, it does belong in the design system. I'll like have a separate PR that involves review and updating the design system.

<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<div id="__docusaurus"><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><header class="hero heroBanner_qdFl"><div class="container"><div class="row"><div class="col col--8 col--offset-2"><h1 class="heroTitle_qg2I">AdCP: The Open Standard for Agentic Advertising</h1><p class="heroSubtitle_jFu1">From brief to buy, helping agents advertise anywhere: from CTV to chat, from tiny blog to the World Cup.</p><div class="heroPoints_gRrZ"><div class="point__uAb"><div class="pointIcon_AYD6">🎯</div><div class="pointText_BlCe"><strong>Built for outcomes</strong><br>Buy the way you want to grow</div></div><div class="point__uAb"><div class="pointIcon_AYD6">🤖</div><div class="pointText_BlCe"><strong>Built for agents</strong><br>Supports MCP and A2A protocols</div></div><div class="point__uAb"><div class="pointIcon_AYD6">🌍</div><div class="pointText_BlCe"><strong>Built for everyone</strong><br>A diverse ecosystem of tech and content</div></div></div><div class="buttons_AeoN"><a href="https://docs.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--primary button--lg margin-right--md">Start Building</a><a href="https://testing.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--secondary button--lg margin-right--md">Try It Live</a><a href="https://github.com/adcontextprotocol/adcp" target="_blank" rel="noopener noreferrer" class="button button--outline button--secondary button--lg">View on GitHub</a></div></div></div></div></header><main><div class="releaseBanner_qgG2"><div class="container"><div class="releaseBannerContent_dZLA"><span class="releaseTag_YUts">v2.5.0 Released</span><span class="releaseText_vBj7">Developer experience and API refinement: type safety, batch previews (5-10x faster), schema versioning, and more!</span><a href="https://docs.adcontextprotocol.org/docs/reference/release-notes#version-250" target="_blank" rel="noopener noreferrer" class="releaseLink_cLn6">Read the release notes →</a></div></div></div><section class="problemSection_YnFw"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><div class="problemContent_hJvu"><h2 class="sectionTitle_Ut5p">Why we built AdCP</h2><p class="problemIntro_r3cU">The advertising ecosystem is fragmented. Every platform has its own API, its own workflow, its own reporting format. Media buyers and agencies waste countless hours navigating this complexity.</p><div class="problemGrid_Hidr"><div class="problemCard_DbFu"><h3>The Integration Problem</h3><p>Each new platform requires custom integration work. APIs change, documentation varies, and maintenance never ends. Teams spend more time on plumbing than on strategy.</p></div><div class="problemCard_DbFu"><h3>The Discovery Problem</h3><p>Inventory is scattered across platforms with different taxonomies and targeting options. Finding the right audiences means learning multiple systems and manually comparing options.</p></div><div class="problemCard_DbFu"><h3>The Automation Problem</h3><p>AI agents and automation tools can&#x27;t easily interact with advertising platforms. Each integration is bespoke, limiting the potential of AI-powered workflows.</p></div></div><div class="visionStatement_hIxH"><p><strong>We believe there&#x27;s a better way.</strong> A single protocol that any platform can implement and any tool can use. An open standard that makes advertising technology work together, not against each other.</p></div></div></div></div></div></section><section class="aaoSection_AdCP"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><div class="aaoCard_AdCP"><div class="aaoCardContent_AdCP"><div class="aaoLogo_AdCP"><img src="/AAo.svg" alt="Agentic Advertising" /></div><div class="aaoText_AdCP"><h3>Managed by Agentic Advertising</h3><p>AdCP is stewarded by <strong>Agentic Advertising (AAO)</strong>, an industry trade association advancing open standards for AI-powered advertising. AAO brings together publishers, platforms, agencies, and technology providers to shape the future of the ecosystem.</p><div class="aaoActions_AdCP"><a href="/membership" class="button button--primary">Become a Founding Member</a><a href="/about" class="button button--outline button--secondary">Learn About AAO</a></div><p style="font-size: 0.85rem; color: var(--ifm-color-emphasis-600); margin-top: 0.75rem; margin-bottom: 0;"><strong>Limited time:</strong> Founding member pricing ends March 31, 2026</p></div></div></div></div></div></div></div></section><section class="solutionSection_rMlo"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">One protocol. Every platform. Total control.</h2><p class="sectionSubtitle_AZuW">AdCP is the open standard that unifies advertising workflows across all platforms.<br>Think of it as the USB-C of advertising technology.</p><div class="comparisonTable_c0Gw"><div class="comparisonColumn_kYrh"><h3>Before AdCP</h3><ul class="comparisonList_QtAd"><li class="negative_k7Kh">15+ different platform APIs</li><li class="negative_k7Kh">Months of custom integration</li><li class="negative_k7Kh">Manual data reconciliation</li><li class="negative_k7Kh">Fragmented reporting</li><li class="negative_k7Kh">Vendor lock-in</li></ul></div><div class="comparisonColumn_kYrh"><h3>With AdCP</h3><ul class="comparisonList_QtAd"><li class="positive__3Zl">One unified interface</li><li class="positive__3Zl">Deploy in days</li><li class="positive__3Zl">Automated workflows</li><li class="positive__3Zl">Consolidated analytics</li><li class="positive__3Zl">Complete flexibility</li></ul></div></div><div class="demoSection_HM9j"><h3>See the difference</h3><div class="demoComparison_jjeQ"><div class="demoBox_J3UX"><h4>Traditional Workflow</h4><code class="codeBlock_NVHr">1. Log into Platform A<br>2. Search for audiences (30 min)<br>3. Export to spreadsheet<br>4. Log into Platform B<br>5. Manually recreate targeting<br>6. Wait for approval (2 days)<br>7. Repeat for 10 more platforms...</code></div><div class="demoBox_J3UX"><h4>AdCP Workflow</h4><code class="codeBlock_NVHr">&quot;Find sports enthusiasts with<br>high purchase intent, compare<br>prices across all platforms,<br>and activate the best option.&quot;<br><br><span class="success_fAwd">✓ Done in minutes</span></code></div></div></div></div></div></div></section><section class="featuresSection_Y0uK"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">Everything you need, production-ready</h2><p class="sectionSubtitle_AZuW">AdCP v2.5.0 includes a complete suite of capabilities for modern advertising workflows.</p><div class="featureGrid_hfN5"><div class="featureCard_Jbd_"><h3>🛒 <a href="https://docs.adcontextprotocol.org/docs/media-buy/overview" target="_blank" rel="noopener noreferrer" style="color: inherit; text-decoration: none;">Media Buy Protocol</a></h3><p>Complete campaign lifecycle management with 9 core tasks:</p><ul><li><code>get_products</code> - Discover inventory with natural language</li><li><code>create_media_buy</code> - Launch campaigns across platforms</li><li><code>get_media_buy_delivery</code> - Real-time performance metrics</li><li>Plus sync, update, feedback, and more</li></ul></div><div class="featureCard_Jbd_"><h3>🎨 <a href="https://docs.adcontextprotocol.org/docs/creatives/overview" target="_blank" rel="noopener noreferrer" style="color: inherit; text-decoration: none;">Creative Protocol</a></h3><p>AI-powered creative generation and management:</p><ul><li><code>build_creative</code> - Generate creatives from briefs</li><li><code>preview_creative</code> - Visual preview generation</li><li><code>list_creative_formats</code> - Discover format specs</li><li>Standard formats library included</li></ul></div><div class="featureCard_Jbd_"><h3>📊 <a href="https://docs.adcontextprotocol.org/docs/signals/overview" target="_blank" rel="noopener noreferrer" style="color: inherit; text-decoration: none;">Signals Protocol</a></h3><p>First-party data integration:</p><ul><li><code>get_signals</code> - Discover available signals</li><li><code>activate_signal</code> - Activate for campaigns</li><li>Privacy-first audience building</li><li>Platform-agnostic data sharing</li></ul></div><div class="featureCard_Jbd_"><h3>⚡ Protocol Features</h3><p>Enterprise-ready infrastructure:</p><ul><li>MCP &amp; A2A protocol support</li><li>Async workflows with webhooks</li><li>Human-in-the-loop approval</li><li>JSON Schema validation</li></ul></div></div></div></div></div></section><section class="howItWorksSection_hIY_"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">How AdCP works</h2><p class="sectionSubtitle_AZuW">Built on the Model Context Protocol (MCP), AdCP provides a unified interface for advertising operations across any platform.</p><div class="workflowSteps_gwt9"><div class="step_BHwS"><div class="stepNumber_rxuX">1</div><div class="stepContent_VSab"><h3>Discovery</h3><p>Use natural language to describe your target audience. AdCP searches across all connected platforms to find matching inventory and audiences.</p><code class="exampleCode_VikQ">&quot;Find sports enthusiasts interested in running gear&quot;</code></div></div><div class="step_BHwS"><div class="stepNumber_rxuX">2</div><div class="stepContent_VSab"><h3>Comparison</h3><p>Get standardized results from all platforms in a consistent format. Compare pricing, reach, and targeting capabilities side by side.</p><code class="exampleCode_VikQ">Platform A: $12 CPM • 2.3M reach<br>Platform B: $18 CPM • 4.1M reach<br>Platform C: $9 CPM • 1.8M reach</code></div></div><div class="step_BHwS"><div class="stepNumber_rxuX">3</div><div class="stepContent_VSab"><h3>Activation</h3><p>Launch campaigns across multiple platforms with a single command. AdCP handles the technical details while maintaining platform-specific optimizations.</p><code class="exampleCode_VikQ">&quot;Activate on Platform B with $10,000 budget&quot;</code></div></div><div class="step_BHwS"><div class="stepNumber_rxuX">4</div><div class="stepContent_VSab"><h3>Management</h3><p>Monitor performance, adjust budgets, and generate reports across all platforms from one interface. Set up automated rules and alerts.</p><code class="exampleCode_VikQ">&quot;Show performance metrics for all active campaigns&quot;</code></div></div></div></div></div></div></section><section class="getStartedSection_vPGY"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">Ready to join the revolution?</h2><p class="sectionSubtitle_AZuW">Whether you&#x27;re a platform provider or an advertiser, AdCP is your path to the future of advertising.</p><div class="audienceCards_Jy9D"><div class="audienceCard_fWZI"><h3>Platform Providers</h3><p class="audienceDescription_DkBw">Make your inventory accessible to every AI assistant and automation platform.</p><ul class="audienceList_msXI"><li>Enable AI-powered workflows for your inventory</li><li>Simplify integration with a standard protocol</li><li>Reach new customers through automation platforms</li></ul><div class="audienceAction_gTR6"><a href="https://docs.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--outline button--secondary button--lg">Explore the Spec</a><p class="actionSubtext_sz5i">Open source • MIT licensed</p></div></div><div class="audienceCard_fWZI"><h3>Advertisers &amp; Agencies</h3><p class="audienceDescription_DkBw">Start using natural language to manage campaigns across all platforms.</p><ul class="audienceList_msXI"><li>Manage campaigns with natural language</li><li>Access unified analytics across platforms</li><li>Build on open standards, avoid vendor lock-in</li></ul><div class="audienceAction_gTR6"><a href="https://docs.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--primary button--lg">Start Building Today</a><p class="actionSubtext_sz5i">Documentation &amp; guides</p></div></div></div></div></div></div></section><section class="communitySection_a2u4"><div class="container"><div class="row"><div class="col col--8 col--offset-2 text--center"><h2 class="sectionTitle_Ut5p">Join the conversation</h2><p class="communityDescription_YESH">AdCP is an open standard developed in collaboration with the advertising community. We&#x27;re building this together, and your input matters.</p><div class="communityFeatures_N643"><div class="communityFeature_n6x3"><h3>Open Development</h3><p>All development happens in the open on GitHub. Watch progress, submit issues, and contribute code.</p></div><div class="communityFeature_n6x3"><h3>Working Group</h3><p>Join monthly meetings to discuss protocol evolution, implementation challenges, and future directions.</p></div><div class="communityFeature_n6x3"><h3>Implementation Support</h3><p>Get help implementing AdCP for your platform or building tools that use the protocol.</p></div></div><div class="communityActions_BVMn"><a href="https://github.com/adcontextprotocol/adcp" target="_blank" rel="noopener noreferrer" class="button button--primary button--lg margin-right--md">Star on GitHub</a><a href="https://join.slack.com/t/agenticads/shared_invite/zt-3h15gj6c0-FRTrD_y4HqmeXDKBl2TDEA" target="_blank" rel="noopener noreferrer" class="button button--outline button--secondary button--lg">Join Slack Community</a></div></div></div></div></section></main></div></div>
<div id="__docusaurus"><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><header class="hero heroBanner_qdFl"><div class="container"><div class="row"><div class="col col--8 col--offset-2"><h1 class="heroTitle_qg2I">The Open Standard for Agentic&nbsp;Advertising</h1><p class="heroSubtitle_jFu1">Ad Context Protocol (AdCP) is an open-souce, interoperable protocol designed from the ground up to make buying, selling, and transacting in digital media more&nbsp;autonomous.</p><div class="heroPoints_gRrZ"><div class="point__uAb"><div class="pointIcon_AYD6">🎯</div><div class="pointText_BlCe"><strong>Built for outcomes</strong> Buy based on results and revenue, not just&nbsp;impressions.</div></div><div class="point__uAb"><div class="pointIcon_AYD6">🤖</div><div class="pointText_BlCe"><strong>Built for agents</strong> Native support for AI assistants using MCP and A2A&nbsp;protocols.</div></div><div class="point__uAb"><div class="pointIcon_AYD6">🌍</div><div class="pointText_BlCe"><strong>Built for everyone</strong> Open standard for all platforms, from CTV networks to&nbsp;blogs.</div></div></div><div class="buttons_AeoN"><a href="https://docs.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--primary button--lg">Start Building</a><div style="text-align: center;"><a href="https://testing.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" style="color: #333333; text-decoration: none; font-size: 0.95rem;">Or try it live →</a></div></div></div></div></div></header><main><div class="releaseBanner_qgG2"><div class="container"><div class="releaseBannerContent_dZLA"><span class="releaseTag_YUts">v2.5.0 Released</span><span class="releaseText_vBj7">Developer experience and API refinement: type safety, batch previews (5-10x faster), schema versioning, and more!</span><a href="https://docs.adcontextprotocol.org/docs/reference/release-notes#version-250" target="_blank" rel="noopener noreferrer" class="releaseLink_cLn6">Read the release notes →</a></div></div></div><section class="problemSection_YnFw"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><div class="problemContent_hJvu"><h2 class="sectionTitle_Ut5p">Why we built AdCP</h2><p class="problemIntro_r3cU">The advertising ecosystem is fragmented. Every platform has its own API, its own workflow, its own reporting format. Media buyers and agencies waste countless hours navigating this complexity.</p><div class="problemGrid_Hidr"><div class="problemCard_DbFu"><h3>The Integration Problem</h3><p>Each new platform requires custom integration work. APIs change, documentation varies, and maintenance never ends. Teams spend more time on plumbing than on strategy.</p></div><div class="problemCard_DbFu"><h3>The Discovery Problem</h3><p>Inventory is scattered across platforms with different taxonomies and targeting options. Finding the right audiences means learning multiple systems and manually comparing options.</p></div><div class="problemCard_DbFu"><h3>The Automation Problem</h3><p>AI agents and automation tools can&#x27;t easily interact with advertising platforms. Each integration is bespoke, limiting the potential of AI-powered workflows.</p></div></div><div class="visionStatement_hIxH"><p><strong>We believe there&#x27;s a better way.</strong> A single protocol that any platform can implement and any tool can use. An open standard that makes advertising technology work together, not against each other.</p></div></div></div></div></div></section><section class="aaoSection_AdCP"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><div class="aaoCard_AdCP"><div class="aaoCardContent_AdCP"><div class="aaoLogo_AdCP"><img src="/AAo.svg" alt="Agentic Advertising" /></div><div class="aaoText_AdCP"><h3>Managed by Agentic Advertising</h3><p>AdCP is stewarded by <strong>Agentic Advertising (AAO)</strong>, an industry trade association advancing open standards for AI-powered advertising. AAO brings together publishers, platforms, agencies, and technology providers to shape the future of the ecosystem.</p><div class="aaoActions_AdCP"><a href="/membership" class="button button--primary">Become a Founding Member</a><a href="/about" class="button button--outline button--secondary">Learn About AAO</a></div><p style="font-size: 0.85rem; color: var(--ifm-color-emphasis-600); margin-top: 0.75rem; margin-bottom: 0;"><strong>Limited time:</strong> Founding member pricing ends March 31, 2026</p></div></div></div></div></div></div></div></section><section class="solutionSection_rMlo"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">One protocol. Every platform. Total control.</h2><p class="sectionSubtitle_AZuW">AdCP is the open standard that unifies advertising workflows across all platforms.<br>Think of it as the USB-C of advertising technology.</p><div class="comparisonTable_c0Gw"><div class="comparisonColumn_kYrh"><h3>Before AdCP</h3><ul class="comparisonList_QtAd"><li class="negative_k7Kh">15+ different platform APIs</li><li class="negative_k7Kh">Months of custom integration</li><li class="negative_k7Kh">Manual data reconciliation</li><li class="negative_k7Kh">Fragmented reporting</li><li class="negative_k7Kh">Vendor lock-in</li></ul></div><div class="comparisonColumn_kYrh"><h3>With AdCP</h3><ul class="comparisonList_QtAd"><li class="positive__3Zl">One unified interface</li><li class="positive__3Zl">Deploy in days</li><li class="positive__3Zl">Automated workflows</li><li class="positive__3Zl">Consolidated analytics</li><li class="positive__3Zl">Complete flexibility</li></ul></div></div><div class="demoSection_HM9j"><h3>See the difference</h3><div class="demoComparison_jjeQ"><div class="demoBox_J3UX"><h4>Traditional Workflow</h4><code class="codeBlock_NVHr">1. Log into Platform A<br>2. Search for audiences (30 min)<br>3. Export to spreadsheet<br>4. Log into Platform B<br>5. Manually recreate targeting<br>6. Wait for approval (2 days)<br>7. Repeat for 10 more platforms...</code></div><div class="demoBox_J3UX"><h4>AdCP Workflow</h4><code class="codeBlock_NVHr">&quot;Find sports enthusiasts with<br>high purchase intent, compare<br>prices across all platforms,<br>and activate the best option.&quot;<br><br><span class="success_fAwd">✓ Done in minutes</span></code></div></div></div></div></div></div></section><section class="featuresSection_Y0uK"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">Everything you need, production-ready</h2><p class="sectionSubtitle_AZuW">AdCP v2.5.0 includes a complete suite of capabilities for modern advertising workflows.</p><div class="featureGrid_hfN5"><div class="featureCard_Jbd_"><h3>🛒 <a href="https://docs.adcontextprotocol.org/docs/media-buy/overview" target="_blank" rel="noopener noreferrer" style="color: inherit; text-decoration: none;">Media Buy Protocol</a></h3><p>Complete campaign lifecycle management with 9 core tasks:</p><ul><li><code>get_products</code> - Discover inventory with natural language</li><li><code>create_media_buy</code> - Launch campaigns across platforms</li><li><code>get_media_buy_delivery</code> - Real-time performance metrics</li><li>Plus sync, update, feedback, and more</li></ul></div><div class="featureCard_Jbd_"><h3>🎨 <a href="https://docs.adcontextprotocol.org/docs/creatives/overview" target="_blank" rel="noopener noreferrer" style="color: inherit; text-decoration: none;">Creative Protocol</a></h3><p>AI-powered creative generation and management:</p><ul><li><code>build_creative</code> - Generate creatives from briefs</li><li><code>preview_creative</code> - Visual preview generation</li><li><code>list_creative_formats</code> - Discover format specs</li><li>Standard formats library included</li></ul></div><div class="featureCard_Jbd_"><h3>📊 <a href="https://docs.adcontextprotocol.org/docs/signals/overview" target="_blank" rel="noopener noreferrer" style="color: inherit; text-decoration: none;">Signals Protocol</a></h3><p>First-party data integration:</p><ul><li><code>get_signals</code> - Discover available signals</li><li><code>activate_signal</code> - Activate for campaigns</li><li>Privacy-first audience building</li><li>Platform-agnostic data sharing</li></ul></div><div class="featureCard_Jbd_"><h3>⚡ Protocol Features</h3><p>Enterprise-ready infrastructure:</p><ul><li>MCP &amp; A2A protocol support</li><li>Async workflows with webhooks</li><li>Human-in-the-loop approval</li><li>JSON Schema validation</li></ul></div></div></div></div></div></section><section class="howItWorksSection_hIY_"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">How AdCP works</h2><p class="sectionSubtitle_AZuW">Built on the Model Context Protocol (MCP), AdCP provides a unified interface for advertising operations across any platform.</p><div class="workflowSteps_gwt9"><div class="step_BHwS"><div class="stepNumber_rxuX">1</div><div class="stepContent_VSab"><h3>Discovery</h3><p>Use natural language to describe your target audience. AdCP searches across all connected platforms to find matching inventory and audiences.</p><code class="exampleCode_VikQ">&quot;Find sports enthusiasts interested in running gear&quot;</code></div></div><div class="step_BHwS"><div class="stepNumber_rxuX">2</div><div class="stepContent_VSab"><h3>Comparison</h3><p>Get standardized results from all platforms in a consistent format. Compare pricing, reach, and targeting capabilities side by side.</p><code class="exampleCode_VikQ">Platform A: $12 CPM • 2.3M reach<br>Platform B: $18 CPM • 4.1M reach<br>Platform C: $9 CPM • 1.8M reach</code></div></div><div class="step_BHwS"><div class="stepNumber_rxuX">3</div><div class="stepContent_VSab"><h3>Activation</h3><p>Launch campaigns across multiple platforms with a single command. AdCP handles the technical details while maintaining platform-specific optimizations.</p><code class="exampleCode_VikQ">&quot;Activate on Platform B with $10,000 budget&quot;</code></div></div><div class="step_BHwS"><div class="stepNumber_rxuX">4</div><div class="stepContent_VSab"><h3>Management</h3><p>Monitor performance, adjust budgets, and generate reports across all platforms from one interface. Set up automated rules and alerts.</p><code class="exampleCode_VikQ">&quot;Show performance metrics for all active campaigns&quot;</code></div></div></div></div></div></div></section><section class="getStartedSection_vPGY"><div class="container"><div class="row"><div class="col col--10 col--offset-1"><h2 class="sectionTitle_Ut5p">Ready to join the revolution?</h2><p class="sectionSubtitle_AZuW">Whether you&#x27;re a platform provider or an advertiser, AdCP is your path to the future of advertising.</p><div class="audienceCards_Jy9D"><div class="audienceCard_fWZI"><h3>Platform Providers</h3><p class="audienceDescription_DkBw">Make your inventory accessible to every AI assistant and automation platform.</p><ul class="audienceList_msXI"><li>Enable AI-powered workflows for your inventory</li><li>Simplify integration with a standard protocol</li><li>Reach new customers through automation platforms</li></ul><div class="audienceAction_gTR6"><a href="https://docs.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--outline button--secondary button--lg">Explore the Spec</a><p class="actionSubtext_sz5i">Open source • MIT licensed</p></div></div><div class="audienceCard_fWZI"><h3>Advertisers &amp; Agencies</h3><p class="audienceDescription_DkBw">Start using natural language to manage campaigns across all platforms.</p><ul class="audienceList_msXI"><li>Manage campaigns with natural language</li><li>Access unified analytics across platforms</li><li>Build on open standards, avoid vendor lock-in</li></ul><div class="audienceAction_gTR6"><a href="https://docs.adcontextprotocol.org" target="_blank" rel="noopener noreferrer" class="button button--primary button--lg">Start Building Today</a><p class="actionSubtext_sz5i">Documentation &amp; guides</p></div></div></div></div></div></div></section><section class="communitySection_a2u4"><div class="container"><div class="row"><div class="col col--8 col--offset-2 text--center"><h2 class="sectionTitle_Ut5p">Join the conversation</h2><p class="communityDescription_YESH">AdCP is an open standard developed in collaboration with the advertising community. We&#x27;re building this together, and your input matters.</p><div class="communityFeatures_N643"><div class="communityFeature_n6x3"><h3>Open Development</h3><p>All development happens in the open on GitHub. Watch progress, submit issues, and contribute code.</p></div><div class="communityFeature_n6x3"><h3>Working Group</h3><p>Join monthly meetings to discuss protocol evolution, implementation challenges, and future directions.</p></div><div class="communityFeature_n6x3"><h3>Implementation Support</h3><p>Get help implementing AdCP for your platform or building tools that use the protocol.</p></div></div><div class="communityActions_BVMn"><a href="https://github.com/adcontextprotocol/adcp" target="_blank" rel="noopener noreferrer" class="button button--primary button--lg margin-right--md">Star on GitHub</a><a href="https://join.slack.com/t/agenticads/shared_invite/zt-3h15gj6c0-FRTrD_y4HqmeXDKBl2TDEA" target="_blank" rel="noopener noreferrer" class="button button--outline button--secondary button--lg">Join Slack Community</a></div></div></div></div></section></main></div></div>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sort of annoying this is a big blob so we can't diff easily (know you're inheriting it but maybe we fix for the future?)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't merge it yet. Let me review this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All done here, both issues addressed, PR title/summary updated to reflect full scope of changes.

Address PR feedback from @bokelley about moving reusable styles to design-system.css:
- Add .hero-point, .hero-point-icon, .hero-point-text classes to design system
- Replace all hardcoded hex colors with CSS custom properties
- Replace hardcoded spacing values with design system variables
- Keep page-specific Docusaurus overrides in index.html but use design system tokens

This makes the hero point styling reusable across the site and follows
the design system's "single source of truth" principle.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
github-actions bot added a commit that referenced this pull request Dec 18, 2025
@eclecticv
Copy link
Author

Good catch! I've addressed this by:

  1. Added reusable classes to design-system.css: Created .hero-point, .hero-point-icon, and .hero-point-text classes that can be used anywhere on the site
  2. Replaced all hardcoded colors: Converted all hex colors to design system CSS variables (e.g., #000080var(--color-primary-900))
  3. Replaced hardcoded spacing: Used design system spacing scale throughout (e.g., 1.5remvar(--space-6))

The page-specific Docusaurus class overrides remain in index.html since they're specific to this page's implementation, but they now reference the design system tokens instead of hardcoding values.

This follows the design system's "single source of truth" principle and makes these styles reusable across the site.

Address PR feedback from @bokelley about the HTML blob making diffs difficult:
- Installed js-beautify and prettier for HTML formatting
- Formatted index.html with proper line breaks (354 → 705 lines)
- Future changes will now show line-by-line diffs instead of entire blob changes
- Added .prettierrc config for consistent formatting

This is a formatting-only change with no visual or functional changes to the page.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@eclecticv eclecticv changed the title Homepage copy/UX modifications Redesign homepage hero section and improve code maintainability Dec 18, 2025
@bokelley
Copy link
Contributor

pr-adcp-hero

@bokelley
Copy link
Contributor

Review Findings

I tested this PR locally and found a few issues:

1. Typo in Hero Subtitle

There's a typo in the hero subtitle text:

"open-souce" → "open-source"

Location: server/public/index.html line 426

2. New CSS Classes Not Applied to HTML

The PR adds new reusable .hero-point classes to design-system.css:

.hero-point { ... }
.hero-point-icon { ... }
.hero-point-text { ... }

However, the HTML still uses the old Docusaurus-generated class names:

<div class="point__uAb">
  <div class="pointIcon_AYD6">🎯</div>
  <div class="pointText_BlCe">...</div>
</div>

The new design system classes are defined but never applied. Either:

  • Update the HTML to use the new classes, or
  • Remove the unused classes from design-system.css if they're not needed

3. Visual Changes Confirmed Working ✅

The visual changes ARE working correctly when accessed at /index.html:

  • Light blue background (--color-primary-100) instead of gradient
  • Navy blue CTAs (--color-primary-900)
  • Updated typography and spacing
  • New hero copy

Screenshots comparing PR vs live site confirm the styling differences are applied.


Tested with Playwright automation comparing localhost:3003/index.html against https://adcontextprotocol.org

@bokelley
Copy link
Contributor

Found two broken links on the homepage (index.html) that should be fixed:

  1. Media Buy Protocol link - /docs/media-buy/overview returns 404, should be /docs/media-buy
  2. Creative Protocol link - /docs/creatives/overview returns 404, should be /docs/creative (note: singular, not plural)

I have a fix ready in branch bokelley/fix-homepage-links if you want to include it with this PR or merge separately.

eclecticv and others added 10 commits December 19, 2025 09:16
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replace Docusaurus-specific class names with design system classes:
- point__uAb → hero-point
- pointIcon_AYD6 → hero-point-icon
- pointText_BlCe → hero-point-text

Removed now-unused CSS overrides from index.html since the design system
classes provide the same styling and are reusable across the site.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fix two 404 links in the features section:
- /docs/media-buy/overview → /docs/media-buy
- /docs/creatives/overview → /docs/creative

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update subtitle to be more concise:
- Remove 'from the ground up'
- Change 'buying, selling, and transacting' to 'buying and selling'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update all three hero point descriptions to exactly 10 words:
- Built for outcomes: Added 'actual' (9→10 words)
- Built for agents: Simplified and reworded (11→10 words)
- Built for everyone: Changed 'all platforms' to 'platforms' and 'blogs' to 'publisher blogs' (11→10 words)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Change 'publisher blogs' to just 'blogs' for brevity.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Move 'Native' to the beginning for more natural reading.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Remove 'Ad Context Protocol' prefix for cleaner, more concise subtitle.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Emphasize inclusive accessibility in the subtitle.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@eclecticv
Copy link
Author

Hey Brian! Thanks for the thorough review. I've addressed all your feedback:

  • Fixed the typo - "open-souce" → "open-source" ✓
  • Moved styles to design system - Created reusable .hero-point classes in design-system.css and updated the HTML to use them instead of the Docusaurus-specific classes ✓
  • Formatted the HTML - Ran js-beautify on index.html to break up that massive blob. Future diffs should be much easier to read ✓
  • Fixed both broken links - Updated /docs/media-buy/overview/docs/media-buy and /docs/creatives/overview/docs/creative

Also made a few copy refinements to the hero section while I was in there.

The branch is updated and ready for another look!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants