Skip to content

feat(marketing): pricing page and copy improvements - #6355

Merged
Kitenite merged 8 commits into
mainfrom
herdr-growth-analysis
Aug 11, 2026
Merged

Kitenite merged 8 commits into
mainfrom
herdr-growth-analysis

Conversation

@Kitenite

@Kitenite Kitenite commented Aug 11, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Copy accuracy fixes across the marketing site (platform metadata, CLI availability, plan placement)
  • Pricing page polish: enterprise card copy, trust logo strip, sticky comparison-table header, clearer yearly price framing, two new FAQs, FAQ structured data

Testing

  • bun run typecheck + bun run lint clean
  • Verified with screenshots from the dev server (desktop, mobile emulation, scrolled table)

@coderabbitai

coderabbitai Bot commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Pricing content now reflects updated Free, Pro, and Enterprise features. Pricing cards support CTA notes. The comparison table includes tier prices and revised borders. The pricing page adds trust logos and FAQ structured data. FAQs and software metadata were updated.

Changes

Pricing marketing updates

Layer / File(s) Summary
Pricing data and CTA notes
apps/marketing/src/app/pricing/constants.ts, apps/marketing/src/app/pricing/components/PricingTiers/components/PricingCard/PricingCard.tsx
Pricing tiers now include updated features, billing text, security labels, FAQs, and optional CTA notes. Pricing cards render linked or plain CTA notes.
Pricing page presentation
apps/marketing/src/app/pricing/components/ComparisonTable/ComparisonTable.tsx, apps/marketing/src/app/pricing/components/TrustStrip/*, apps/marketing/src/app/pricing/page.tsx
The comparison table displays tier prices with sticky headers and bottom borders. The pricing page renders responsive trust logos and FAQ structured data.
Marketing content and metadata
apps/marketing/src/app/components/FeaturesSection/constants.ts, apps/marketing/src/components/JsonLd/JsonLd.tsx
Remote Workspaces messaging no longer states that the feature is on every plan. Software metadata now lists macOS only.

Estimated code review effort: 3 (Moderate) | ~20 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the pricing accuracy, trust, and enterprise improvements in the changeset.
Description check ✅ Passed The description explains the changes, testing performed, and follow-ups, but it omits the template checklist.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch herdr-growth-analysis

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 3 files

You’re at about 90% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Architecture diagram
sequenceDiagram
    participant SC as Search Engine
    participant M as Marketing Site
    participant P as Pricing Page
    participant F as Features Page
    participant MC as constants.ts
    participant DL as Download Page
    participant WS as Waitlist
    participant PC as Paywall Component

    Note over SC,M: SEO metadata flow
    SC->>M: Crawl / (homepage)
    M->>MC: Read Company metadata
    MC-->>M: operatingSystem: "macOS"
    M-->>SC: JSON-LD with macOS only

    Note over P,MC: Pricing page content
    P->>MC: Read PRICING_TIERS
    MC-->>P: Free tier features
    Note over P: Feature list includes "CLI"
    P-->>P: Render Free tier CTA

    Note over F,MC: Features section content
    F->>MC: Read FEATURES array
    MC-->>F: Remote Workspaces card
    Note over F: Card shows neutral plan copy
    F-->>F: Render card without plan claim

    Note over DL,WS: Download flow (context)
    DL->>DL: User requests macOS download
    alt Mac user
        DL-->>DL: Show download link
    else Windows/Linux user
        DL->>WS: Redirect to waitlist
        WS-->>DL: Waitlist signup form
    end

    Note over PC: User clicks Remote Workspaces
    PC->>PC: Check plan tier
    alt Pro+ user
        PC-->>PC: Allow remote workspace
    else Free user
        PC-->>PC: Show upgrade dialog
    end
Loading

Re-trigger cubic

@github-actions

github-actions Bot commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) ✅ View Branch
Vercel API (Vercel) ✅ Open Preview
Vercel Web (Vercel) ✅ Open Preview
Vercel Marketing (Vercel) ✅ Open Preview
Vercel Admin (Vercel) ✅ Open Preview
Vercel Docs (Vercel) ✅ Open Preview

Preview updates automatically with new commits

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/marketing/src/app/components/FeaturesSection/constants.ts`:
- Line 42: Restore the “on every plan” phrase in the Remote Workspaces
description constant used by FeaturesSection.tsx, preserving the rest of the
existing copy and homepage claim.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ba381b94-38e5-446a-9e9c-e9e7a589f251

📥 Commits

Reviewing files that changed from the base of the PR and between ab4b285 and 2c10c8d.

📒 Files selected for processing (1)
  • apps/marketing/src/app/components/FeaturesSection/constants.ts

title: "Run workspaces anywhere",
description:
"Add any machine as a host, on every plan. Workspaces keep running when your laptop sleeps, and you can check in from wherever you are.",
"Add any machine as a host. Workspaces keep running when your laptop sleeps, and you can check in from wherever you are.",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Restore the homepage claim that Remote Workspaces are available on every plan.

Line 42 removes on every plan. FeaturesSection.tsx renders this description directly, so the homepage no longer contains the claim required by the PR objective. Restore the phrase, or update the objective if the product requirement changed.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/marketing/src/app/components/FeaturesSection/constants.ts` at line 42,
Restore the “on every plan” phrase in the Remote Workspaces description constant
used by FeaturesSection.tsx, preserving the rest of the existing copy and
homepage claim.

@Kitenite Kitenite changed the title fix(marketing): correct platform, CLI, and remote-workspace plan claims feat(marketing): pricing accuracy fixes + trust and enterprise improvements Aug 11, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

2 issues found across 6 files (changes from recent commits).

You’re at about 91% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/marketing/src/app/pricing/components/TrustStrip/TrustStrip.tsx">

<violation number="1" location="apps/marketing/src/app/pricing/components/TrustStrip/TrustStrip.tsx:32">
P3: New TrustStrip largely duplicates the existing TrustedBySection logo-wall component and its logo config, only with a subset of the same logos and heading. Reuse TrustedBySection (or extract shared logo data) so the logo list lives in one place and stays consistent as logos change.</violation>
</file>

<file name="apps/marketing/src/app/pricing/components/ComparisonTable/ComparisonTable.tsx">

<violation number="1" location="apps/marketing/src/app/pricing/components/ComparisonTable/ComparisonTable.tsx:71">
P2: The comparison table shows the yearly Pro price even after the pricing cards are switched to monthly billing, leaving two conflicting prices on the same page. Passing the selected billing cadence into `ComparisonTable` (or removing the cadence-dependent header price) would keep the table synchronized with the cards.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

return tier.price.display;
}
if (tier.price.kind === "variable") {
return `${tier.price.yearly.display}/user/mo`;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2: The comparison table shows the yearly Pro price even after the pricing cards are switched to monthly billing, leaving two conflicting prices on the same page. Passing the selected billing cadence into ComparisonTable (or removing the cadence-dependent header price) would keep the table synchronized with the cards.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/marketing/src/app/pricing/components/ComparisonTable/ComparisonTable.tsx, line 71:

<comment>The comparison table shows the yearly Pro price even after the pricing cards are switched to monthly billing, leaving two conflicting prices on the same page. Passing the selected billing cadence into `ComparisonTable` (or removing the cadence-dependent header price) would keep the table synchronized with the cards.</comment>

<file context>
@@ -60,6 +63,16 @@ function DesktopTable() {
+		return tier.price.display;
+	}
+	if (tier.price.kind === "variable") {
+		return `${tier.price.yearly.display}/user/mo`;
+	}
+	return "Custom";
</file context>

{ name: "amazon", label: "Amazon", logo: "/logos/amazon.png", height: 20 },
];

export function TrustStrip() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P3: New TrustStrip largely duplicates the existing TrustedBySection logo-wall component and its logo config, only with a subset of the same logos and heading. Reuse TrustedBySection (or extract shared logo data) so the logo list lives in one place and stays consistent as logos change.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At apps/marketing/src/app/pricing/components/TrustStrip/TrustStrip.tsx, line 32:

<comment>New TrustStrip largely duplicates the existing TrustedBySection logo-wall component and its logo config, only with a subset of the same logos and heading. Reuse TrustedBySection (or extract shared logo data) so the logo list lives in one place and stays consistent as logos change.</comment>

<file context>
@@ -0,0 +1,52 @@
+	{ name: "amazon", label: "Amazon", logo: "/logos/amazon.png", height: 20 },
+];
+
+export function TrustStrip() {
+	return (
+		<div className="flex flex-col items-center gap-6">
</file context>

@Kitenite Kitenite changed the title feat(marketing): pricing accuracy fixes + trust and enterprise improvements feat(marketing): pricing page and copy improvements Aug 11, 2026
@Kitenite
Kitenite merged commit 1c95bf7 into main Aug 11, 2026
10 of 12 checks passed
@Kitenite
Kitenite deleted the herdr-growth-analysis branch August 11, 2026 22:59

This branch was previously deployed

1 inactive deployment
preview — 67070470 Deployed Aug 11, 2026 by Kitenite via Deploy Admin #7482
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