Skip to content

feat(landing): V5 redesign — Cowork parity table, Connect & Cloud pages, Den-style enterprise analytics - #3567

Open
benjaminshafii wants to merge 3 commits into
devfrom
feat/landing-v5
Open

feat(landing): V5 redesign — Cowork parity table, Connect & Cloud pages, Den-style enterprise analytics#3567
benjaminshafii wants to merge 3 commits into
devfrom
feat/landing-v5

Conversation

@benjaminshafii

Copy link
Copy Markdown
Member

What

Full redesign of the marketing site (ee/apps/landing) — ElevenLabs-inspired design system on the OpenWork palette, a Cowork parity table, and two new product pages that make the MCP Gateway and Cloud dashboard first-class.

Design source of truth: Paper file "OpenWork Extensions — Latest" → page "Landing — openworklabs.com" (artboards Home V5, Connect / MCP Gateway, Cloud / Central Management, Enterprise / Self-Sovereign AI, plus the Motion Spec legend with numbered pins).

Pages

Route What's new
/ Split hero (real FK Raster pixel word + grain shader), segmented demo panel, provider hairline grid with corner ticks, OpenWork vs Claude Cowork parity table (highlighted OPENWORK-ONLY gateway row), bento (grain feature card, live toggles), gateway flow diagram, three-doors get-started, audience router, light CTA
/connect (new) OpenWork Connect = product name, MCP gateway = feature. Flow diagram (set up once → gateway → shared with everyone), copy-morph URL bar, how-it-works, animated terminal→teammate publish story (types on scroll; reduced-motion renders final state)
/cloud (new) "The dashboard for your whole org." Den-faithful console mock (nav mirrored from den-web's org-dashboard-shell, BYOK panel, hover-reveal Manage links, staggered status pulses), Connect / Web / everything-speaks-MCP pillar router
/enterprise (rework) Self-sovereign AI narrative, SOC 2 Type II in progress chips, oversight analytics panel built from den-web's real analytics-screen.tsx patterns (StatCard borders/tones/typography, pure-div trend chart), SSO/SCIM connection card, self-host command bar, compliance grid. Cal/contact wiring preserved

Shared kit: lp-primitives, lp-brand-logos (inline currentColor SVGs), lp-parity-table, lp-gateway-diagram, lp-copy-bar, lp-cta, lp-terminal-story, lp-cloud-console, lp-analytics-panel, lp-sso-card. Nav gains Connect + Cloud; sitemap + agent-markdown updated. All motion respects prefers-reduced-motion.

Screenshots (local dev render)

Home Connect
Cloud Enterprise

Note: screenshots are tall-viewport captures at scrollTop 0, so the fixed grain shader appears at full strength further down the page than real scrolling shows (it fades over the first 500px of scroll via the existing scroll-timeline).

Validation

Ran (from a fresh worktree off origin/dev, filtered install pnpm install --filter @openwork-ee/landing...):

  • pnpm --dir ee/apps/landing test4/4 pass
  • tsc --noEmit -p ee/apps/landing0 errors in changed/new files (pre-existing env errors in packages/* unchanged, see below)
  • next dev + headless-Chrome render of /, /connect, /cloud, /enterprise → all 200, visually verified against the Paper artboards (screenshots above)

Known pre-existing failures — identical on clean origin/dev in the same environment, not introduced here (verified by stash-and-rebuild):

  • next build fails typechecking packages/email/src/render-email.ts:8 (React 18/19 catalog type clash). Vercel's vercel.json buildCommand (email build → ui build → next build) is the deploy path.
  • scripts/check-connect-installer-parity.mjs asserts "Cloud onboarding must copy the public /mcp/agent endpoint" on clean dev — flagging for whoever owns that guard.

Testkit evidence: not applicable — evals/specs/** covers the OpenWork app runtime; this PR touches only the marketing site. Validation is the type/test checks + rendered-page verification above.

Copy claims to confirm before merge

  • Parity table's Claude Cowork column (scheduled tasks ✓, browser automation "Limited", plugin compatibility) — verify against Cowork's current feature set
  • "First 5 seats free", SOC 2 wording ("report available under NDA on completion"), SCIM hourly sync, gateway "auth, roles, policies applied on the way through"

…le enterprise analytics

- Home: EL-inspired system (light display type, tonal cards, hairline grids
  with corner ticks), split hero, segmented demo panel, provider strip,
  Cowork parity table with OPENWORK-ONLY gateway row, bento, gateway
  diagram, three-doors get-started, audience router, light CTA
- New /connect: gateway flow, how-it-works, animated terminal-to-teammate
  publish story, copy-morph URL bar
- New /cloud: dashboard positioning, Den-faithful console mock (BYOK panel,
  real nav, hover + status-pulse interactions), Connect/Web/MCP pillars
- Enterprise: self-sovereign narrative, SOC 2 in-progress chips, Den-pattern
  analytics oversight panel, SSO/SCIM card, self-host command bar,
  compliance grid
- Shared lp-* kit (primitives, brand logos, parity table, gateway diagram,
  copy bar, CTA); nav gains Connect + Cloud; sitemap + agent markdown updated

Design source: Paper file 'OpenWork Extensions — Latest' (Home V5 / Connect /
Cloud / Enterprise artboards + motion spec). Motion respects
prefers-reduced-motion.
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
openwork-app Ready Ready Preview Aug 5, 2026 4:04pm
openwork-den Ready Ready Preview Aug 5, 2026 4:04pm
openwork-den-worker-proxy Building Building Preview Aug 5, 2026 4:04pm
openwork-landing Ready Ready Preview, v0 Aug 5, 2026 4:04pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
openwork-diagnostics Skipped Skipped Aug 5, 2026 4:04pm

diff-warden[bot]
diff-warden Bot previously approved these changes Aug 5, 2026

@diff-warden diff-warden Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warden security clearance: clear. No blocking findings (security or desktop↔den sync) in this diff (3bfd6979aeb810aadc070bcb571c4bc483088b66). Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run

- Replace fixed full-viewport shader with hero-scoped 980px layer fading
  into the page color — every section below sits on clean ground at any
  scroll position (matches the approved Paper design)
- Bento grain card gains a bottom scrim behind its caption; one-line chat
  pill copy
- CTA heading balanced at 640px (kills orphan wrap); solid tonal demo
  panel shell; provider logos 70% base opacity; hero support lines bumped
  to body gray
- ::selection, focus-visible rings, and 150ms hover transitions on all
  lp pills; tokenized footer hairline; SSO tiles equal height; terminal
  story colors matched to spec
@benjaminshafii

Copy link
Copy Markdown
Member Author

Polish pass (68d81f55d) — QA'd fold-by-fold

Went through every page at scroll 0, mid-scroll, and bottom, and fixed everything that read as unfinished:

The big one — background system. The shader was fixed full-viewport with a scroll-linked fade, so at scroll 0 (and in any static capture) the dark grain sat underneath hero text, section labels, and the parity table → muddy and low-contrast. It's now a hero-scoped 980px layer that fades into the page color — exactly like the approved Paper design. Every section below the hero sits on clean ground at every scroll position, deterministically.

Also fixed:

  • CTA heading orphan wrap ("…an agent." alone) — balanced at 640px
  • Bento grain card caption now sits on a soft white scrim instead of raw texture; chat-pill copy tightened to one line
  • Demo panel shell solid tonal (was translucent-over-grain); inactive tab labels readable
  • Provider logos 70% base opacity (were washing out at 60%)
  • Hero support lines bumped from faint to body gray
  • ::selection, focus-visible rings, and consistent 150ms hover transitions on all pills; tokenized footer hairline; SSO tiles equal height; terminal-story colors matched to spec

After (scroll-0 folds + mid-page seam)

Home Connect
Cloud Enterprise

Grain→content seam after the fix (provider strip on clean white, hairlines + corner ticks crisp):

Re-verified: tests 4/4, zero type errors in changed files, all four routes 200 + visually inspected at three scroll depths each. (The FK Raster words render with the raster-stripe texture by design — same as "alternative." on the live site today.)

diff-warden[bot]
diff-warden Bot previously approved these changes Aug 5, 2026

@diff-warden diff-warden Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warden security clearance: clear. No blocking findings (security or desktop↔den sync) in this diff (68d81f55ddcbf097e1d86a53f46b2b749b7b0c9f). Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run

Fold completion:
- Hero CTA is now OS-aware ('Download for macOS') with real per-OS release
  links and Windows/Linux alpha options
- Agent-install prompt card (typing caret + copy) restored to the fold,
  above the demo panel, with a 'Powered by opencode' strip

Layout corrections:
- Removed the hairline-divided cell blocks that read as spreadsheet tables
  and visually dead-ended (get-started doors, provider strip, parity header);
  doors and providers are now tonal cards/band, connect steps are pure
  typography with pixel numerals
- Eliminated the mt-auto voids inside cards (~110px of dead space per cell)
- One primary pill per section; all pills in a row share height and baseline
- Icons standardized to lucide 20px/1.75 in white chips (were bare, spindly);
  Globe replaces Earth

Edge discipline (one treatment per element):
- Accent cards use inset rings instead of borders so rows share box metrics
- Cloud pillars, deploy cards, SSO card, terminal story: tonal fills, no
  stacked border+shadow+fill
- Enterprise contact form no longer double-boxed
- Legacy gray/slate palette classes replaced with --lp-* tokens

Verified: no dead links (all routes 200, /docs 308 rewrite, #product,
#comparison, #book anchors present), 0 type errors in changed files,
tests 4/4, all four pages inspected fold-by-fold.
@benjaminshafii

Copy link
Copy Markdown
Member Author

Round 3 (17fc81cea) — killed the boxed layouts, completed the fold, unified edges

Feedback was: strong borders creating dead-end boxes, dead space, and an incomplete first screen. Audited every fold on all four pages (DOM + pixels) and fixed the actual causes.

The layout problem: divided-cell blocks

Sections were built as border-y blocks with vertical border-l dividers + corner ticks — which renders as a spreadsheet table that visually dead-ends, and the equal-height row + mt-auto created ~110px of dead space inside every cell.

Before → after (get-started doors):

Same treatment applied throughout: provider strip → single tonal band (no dividers), parity header → one bottom hairline, /connect steps → pure typography with pixel numerals (deliberately different from home's cards so sections don't all look alike).

Fold completion (was missing vs the live site)

  • CTA is OS-aware: "Download for macOS" with real per-OS release URLs + Windows/Linux Alpha options
  • Agent-install prompt card (typing caret + copy) is back on the fold, above the demo panel
  • "Powered by opencode" strip restored

Edge discipline — one treatment per element

  • Accent cards use ring-inset instead of border, so rows share identical box metrics (the outlined card was shifting content 1px)
  • Cloud pillars / deploy cards / SSO card / terminal story: tonal fills only — no stacked border+shadow+fill
  • Enterprise contact form was double-boxed (bordered card inside a bordered card) → single edge
  • All legacy gray-*/slate-* classes replaced with --lp-* tokens
  • Icons: lucide 20px/1.75 inside white chips (were bare and spindly); Globe replaces Earth
  • One primary pill per section; every pill row shares height + baseline
Cloud pillars Enterprise deploy Connect steps Enterprise form

No dead ends — every link audited

Collected all 38 unique hrefs across the four pages and hit each one: all internal routes 200 (/docs is the intended 308 Mintlify rewrite), anchors #product, #comparison, #book all present in the DOM, download links resolve to real v0.18.16 release assets, app.openworklabs.com for cloud CTAs, Cal URL for sales. Zero href="#" placeholders.

Verification

  • tsc --noEmit: 0 errors in changed files (unchanged pre-existing packages/* React-types conflict remains, same as clean dev)
  • pnpm test: 4/4 pass, 50 assertions
  • DOM audits: nested-chrome count 0, legacy-palette grep empty, all pill rows height/baseline-matched
  • All four pages inspected fold-by-fold at multiple scroll depths

@diff-warden diff-warden Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Warden security clearance: clear. No blocking findings (security or desktop↔den sync) in this diff (17fc81cea35ee96fb766a02891c35557890d497a). Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run

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