Commit 8129596
authored
feat(website): add narrative sections, pilot-to-prod page, and rebrand integration (#29)
* fix(website): add track shake animation to ProblemSection stall phase
* fix(website): ProblemSection quality fixes — timer cleanup, unique SVG ID, aria-hidden, correct import
- Store setTimeout IDs and clear them on unmount (prevents state updates on unmounted component)
- Use useId() to generate unique hatchId per instance (prevents SVG pattern id collision)
- Add role=progressbar + aria-valuenow to track container for screen readers
- Add aria-hidden=true to decorative animated elements (pins, labels, badge, counter)
- Fix import: use local lib/design-tokens instead of unresolved @cacheplane/design-tokens
- Add invariant comment for done-timeout vs counter-duration coupling
* feat: add FullStackSection with animated stack diagram and roadmap strip
* feat: add ChatFeaturesSection with 4 interactive chat scenarios
* feat: add FairComparisonSection comparison table
* feat: wire ProblemSection, FullStackSection, ChatFeaturesSection, FairComparisonSection into landing page
- Insert ProblemSection + FullStackSection + ChatFeaturesSection after StatsStrip
- Insert FairComparisonSection after DeepAgentsShowcase
- Add two ambient gradient blobs for extended page height
- Task 5 (FeatureStrip copy): no-op — the problematic 'no established pattern' copy was not present in this branch
* chore: add puppeteer devDependency and generate-whitepaper script
* feat: add whitepaper signup API route with NDJSON persistence
* feat: add whitepaper generation script
* feat: add WhitePaperSection with free download and optional lead-gen form
* feat: add WhitePaperSection to landing page; remove useStream parity copy from FeatureStrip
* fix(whitepaper): add JetBrains Mono to Google Fonts URL and regenerate preview
Fixes missing code font in whitepaper output. Regenerates whitepaper-preview.html
with correct 'EB Garamond' and 'JetBrains Mono' font references throughout.
* feat: add PilotHero component and /pilot-to-prod page skeleton
* fix: PilotHero responsive padding, eyebrow style conflict, page metadata
* feat: add WhatIsIncluded 3-column component for pilot-to-prod page
* feat: add HowItWorks 3-phase timeline for pilot-to-prod page
* feat: add PricingSignal pricing callout for pilot-to-prod page
* feat: add WhitePaperGate 5-field lead gen form for pilot-to-prod page
* fix: change role=alert to role=status to match aria-live=polite in WhitePaperGate
* feat: add PilotFooterCTA and wire complete pilot-to-prod page
* fix: use tokens.colors.accent in PilotFooterCTA, add aria-hidden to page blobs
* feat: add Pilot to Prod nav link and restructure homepage (remove FeatureStrip/CockpitCTA/CodeBlock, add PilotProgram CTA)
* fix: correct design-tokens import path in pilot-to-prod page (3 levels up)
* fix: apply full review findings — messaging, mobile, UX, and RiskRemoval section
- Remove useStream() parity messaging from HeroTwoCol, WhatIsIncluded, StatsStrip
- Fix PricingSignal: remove ambiguous '/year', clarify as fixed fee + pilot included
- Add PricingSignal mobile padding reduction via media query
- Fix ProblemSection stat grid to collapse on mobile (auto-fit minmax)
- Add RiskRemoval section to pilot-to-prod page (between PricingSignal and WhitePaperGate)
- Fix Nav Examples link: external=true, target=_blank, rel=noopener noreferrer
- Fix WhitePaperGate: role field sent in message body, not merged into company string
- Fix PilotFooterCTA: replace broken whileHover borderColor with CSS class hover
- Fix PilotHero: remove opacity from initial animations (prevents blank hero flash)
- Increase PilotHero CTA padding to meet 44px touch target
* fix: remove remaining useStream parity messaging from layout, Footer, and ValueProps
* fix: second review pass — docs messaging, title, broken link, a11y labels
- introduction.mdx: remove parity/useStream opening line, use Signal-native positioning
- AGENTS.md.template + CLAUDE.md.template: update tagline to Signal-native
- layout.tsx: update <title> from LangChain to LangGraph
- Footer.tsx: fix /api-reference → /docs/api/stream-resource (was 404)
- PilotHero.tsx: add aria-hidden to decorative gradient blobs
- WhitePaperSection.tsx: add sr-only labels + aria-label to name/email inputs
- LeadForm.tsx (pricing): add sr-only labels + aria-label to all four form inputs
* feat: add whitepaper.pdf to public directory
Generated from whitepaper-preview.html via Puppeteer. All 6 chapters
present (Streaming State Management, Thread Persistence, Tool-Call
Rendering, Human Approval Flows, Generative UI, Deterministic Testing).
Fixes dead 'Download the Guide' CTAs on pilot-to-prod and homepage.
* feat: citation badges on stats, pricing reframe to app deployment license
Citation badges:
- New CitationBadge component — click-to-open popover with source, stat, note, and link
- 66% stat → Stack Overflow Developer Survey 2025
- 31% stat → ISG AI Adoption Reports
- 75% stat → Stack Overflow Developer Survey 2025
- Keyboard (Escape) and outside-click dismissal, ARIA dialog role
Pricing reframe (app deployment license):
- Remove ALL refund/money-back/guarantee language site-wide
- PilotHero: trust line → "App deployment license · $20,000 · 3-month co-pilot engagement"
- PilotHero: subheadline removes "guaranteed outcome"
- WhatIsIncluded: card 3 renamed from "Production Guarantee" → "App Deployment License"
- HowItWorks: phase 3 removes "full refund" language, deliverable → "Production deployment"
- PricingSignal: subtitle + features list updated to license/co-pilot framing
- RiskRemoval: section reframed from guarantee → "What's included in the license"
Replaces money-back card with "We work alongside your team" card
- PilotFooterCTA: fine print updated
- pilot-to-prod/page.tsx: meta description updated
* feat: subtler citation badge + citations on all 77% claims
CitationBadge:
- Reduced to 13px, transparent background, faint border (rgba 0.2)
- Text color rgba(0,64,144,0.35) at rest — nearly invisible until hovered
- No fill on idle state, border-only approach
New citation placements:
- PilotHero subheadline: 77% → McKinsey State of AI 2024
- PilotFooterCTA body copy: 77% → McKinsey State of AI 2024
- HomePilotCTA (new component): extracts inline pilot CTA from page.tsx
so it can be a client component with CitationBadge on the 77% claim
- page.tsx: replaces inline section with <HomePilotCTA />
* docs: add FullStackSection redesign spec (EM/CTO layer narrative + Gen UI bug fix)
* feat(website): redesign FullStackSection for EM/CTO audience
* docs: apply Angular Stream Resource rebrand to narrative components
* chore: sync package-lock.json after merge
* fix(website): update e2e test for new landing page structure1 parent e4c0589 commit 8129596
36 files changed
Lines changed: 3979 additions & 111 deletions
File tree
- apps/website
- content
- docs-v2/getting-started
- e2e
- public
- scripts
- src
- app
- api/whitepaper-signup
- pilot-to-prod
- components
- landing
- pricing
- docs/superpowers/specs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | | - | |
18 | | - | |
| 17 | + | |
19 | 18 | | |
20 | 19 | | |
21 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
Binary file not shown.
0 commit comments