Skip to content

feat(website): homepage refresh — positioning, hero, Why this exists, footer#475

Merged
blove merged 12 commits into
mainfrom
claude/agitated-euler-1734d6
May 19, 2026
Merged

feat(website): homepage refresh — positioning, hero, Why this exists, footer#475
blove merged 12 commits into
mainfrom
claude/agitated-euler-1734d6

Conversation

@blove
Copy link
Copy Markdown
Contributor

@blove blove commented May 19, 2026

Summary

  • Homepage marketing refresh: new positioning copy (PRIMARY_TAGLINE, LONG_SUBHEAD, HERO_SUBHEAD), nav trim (Solutions / API / Pricing / Blog removed), CTA renamed Get Started → Talk to Us, new generative-UI hero screenshot (airline ops dashboard) replacing the old markdown chat demo.
  • Hero polish: dropped the agent.signal() code window so the dashboard owns the column; tilt softened from −3° to −1°; whole frame + "Open in cockpit →" caption deep-link to https://cockpit.threadplane.ai/chat/generative-ui; six proof pills are now anchor-wrapped hover-animated links to docs (LangGraph, persistence, interrupts, subgraphs, memory, json-render vs A2UI).
  • "Why this exists" section rewrite: replaced 4-card differentiator grid with a 10-row production-readiness checklist (durable threads → MIT + self-hosted), each row pairing a need with the concrete NGAF primitive. Footer hand-off to /pilot-to-prod. Backed by spec at docs/superpowers/specs/2026-05-19-why-this-exists-section-design.md.
  • Footer: Blog and "All solutions" links restored (the nav trim sent them here; API/Pricing were already present).

11 commits. Designs + plans live under docs/superpowers/{specs,plans}/2026-05-19-*.

Screenshots

Test plan

  • npx vitest run in apps/website/ → 53 passing, 2 pre-existing failures (docs.spec.ts × 2, open-in-cockpit.spec.tsx transform). Confirmed they also fail on main — not caused by this PR.
  • npx tsc -p apps/website/tsconfig.json --noEmit → no new errors on touched files.
  • Visual check at 1280×820 and mobile preset.
  • DOM-verified: 8 new hero links (1 frame anchor + 1 caption + 6 pills) all resolve to correct destinations; pill hover transitions to accent family + lifts 1px (respects prefers-reduced-motion).
  • DOM-verified: footer Blog → /blog, All solutions → /solutions.
  • Analytics CTA events fire on click (hero_install, hero_talk_to_engineers, hero_demo_open_cockpit{,_caption}, hero_proof_pill, home_why_pilot_to_prod, footer_*).

Out of scope / follow-ups

  • Differentiator.spec.tsx over-stubs @ngaf/design-tokens. If the token shape changes, tests won't catch it. Tracked as test-fidelity follow-up.
  • Pre-existing docs.spec.ts (missing API docs + MDX walk) and open-in-cockpit.spec.tsx transform error — unrelated; both fail on main.

🤖 Generated with Claude Code

blove and others added 10 commits May 19, 2026 11:15
- positioning.ts: rework tagline / subheads to lead with "Agent UI for
  Angular" + durable threads, interrupts, subagents, planning, memory,
  generative UI; name Vercel json-render and Google A2UI explicitly.
- Nav: trim Solutions, API, Pricing, Blog; rename primary CTA from
  "Get Started" to "Talk to Us" pointing at /contact (both desktop
  and mobile).
- Hero: swap canonical demo screenshot to a generative-UI sample
  (airline operations dashboard rendered by the agent).
- launch.json: add genui-python + genui-angular configs used to
  capture the new hero asset locally.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
10-row production-readiness checklist replacing the 4-card differentiator
grid; dramatizes the demos→production gap and hands off to /pilot-to-prod.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ess checklist

Replaces the 4-card differentiator grid with a 10-row checklist that dramatizes
the demos→production gap. Each row pairs a production need with the concrete
NGAF primitive that covers it. Footer hands off to /pilot-to-prod.

Also adds 'home_why_pilot_to_prod' to the CtaId union in events.ts to satisfy
the type constraint on the new CTA link.

See docs/superpowers/specs/2026-05-19-why-this-exists-section-design.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… CTA

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Updates expected PRIMARY_TAGLINE, LONG_SUBHEAD substrings, and HERO_SUBHEAD
substring to match the homepage marketing refresh from 847d0b1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops the agent.signal() code window so the generative-UI dashboard
screenshot owns the hero column unobstructed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… the column

The agent.signal() <pre> frame was occluding the dashboard's bar chart and
disruptions table — the densest, most proof-heavy region of the new hero
screenshot. Removes it and resizes the dashboard frame to 100% column width.
provideAgent / agent() still appear in the install CTA, the "Why this exists"
primitive labels, and every install snippet in /docs.

See docs/superpowers/specs/2026-05-19-hero-collage-simplification-design.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ocs links

- BrowserFrame tilt -3° → -1°: less editorial, dashboard reads flatter.
- Dashboard frame + "Open in cockpit →" caption now open the live example
  at cockpit.threadplane.ai/chat/generative-ui in a new tab; both fire
  marketing CTA events (hero_demo_open_cockpit{,_caption}).
- POSITIONING_PROOF_POINTS now carries { label, href } per pill; each pill
  wraps in an anchor to the closest concept doc:
    LangGraph + AG-UI → /docs/agent/concepts/langgraph-basics
    Durable threads   → /docs/agent/guides/persistence
    Interrupts        → /docs/agent/guides/interrupts
    Subagents         → /docs/agent/guides/subgraphs
    Planning + memory → /docs/agent/guides/memory
    json-render+A2UI  → /docs/render/concepts/json-render-vs-a2ui
  Click fires hero_proof_pill CTA. opengraph-image, Hero.spec, and
  site-metadata.spec updated for the new shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
On hover/focus-visible the neutral pills transition to the accent color
family (background, border, text), lift 1px, and gain a faint shadow.
Active state collapses the lift. Respects prefers-reduced-motion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The nav trim removed Blog, Solutions, API, and Pricing top-level items.
API Reference and Pricing were already in the footer; this adds the two
that weren't:

- Resources column gains "Blog" → /blog
- Solutions column gains "All solutions" → /solutions (the parent index;
  the three sub-solutions were already listed)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment May 19, 2026 11:51pm

Request Review

blove and others added 2 commits May 19, 2026 16:47
Build failed in CI because hero_demo_open_cockpit, hero_demo_open_cockpit_caption,
and hero_proof_pill (introduced in 30272bf) weren't in the strict CtaId union.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Nav trim in 847d0b1 removed the Pricing top-level link; it stayed
in the Product footer column.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@blove blove merged commit 045283a into main May 19, 2026
24 of 25 checks passed
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.

1 participant