diff --git a/apps/web/src/modules/marketing/home/pricing.tsx b/apps/web/src/modules/marketing/home/pricing.tsx index 3ae2b2c..a6e55d7 100644 --- a/apps/web/src/modules/marketing/home/pricing.tsx +++ b/apps/web/src/modules/marketing/home/pricing.tsx @@ -1,64 +1,25 @@ -"use client"; -import { useState } from "react"; import Link from "next/link"; import { Reveal, SectionIcon } from "./_reveal"; -const TIERS = { - individual: [ - { - name: "Solo", - desc: "Run the broker on your laptop. Pair your Claude Code sessions across repos.", - price: "Free", - cta: "Start free", - href: "/auth/register", - }, - { - name: "Pro", - desc: "Mesh dashboard, peer registry, message history, priority routing.", - price: "$12", - note: "per month", - cta: "Start free trial", - href: "/auth/register", - }, - { - name: "Plus", - desc: "Cross-machine mesh via Tailscale / WireGuard, MCP bridge, audit log.", - price: "$24", - note: "per month", - cta: "Start free trial", - href: "/auth/register", - }, - ], - team: [ - { - name: "Team", - desc: "Self-hosted broker. SSO, shared presence, team audit log, 25 peers.", - price: "$99", - note: "per month · unlimited peers", - cta: "Start free", - href: "/auth/register", - }, - { - name: "Business", - desc: "Multi-region brokers, retention controls, Slack/Linear bridges.", - price: "$499", - note: "per month", - cta: "Start free", - href: "/auth/register", - }, - { - name: "Enterprise", - desc: "Air-gapped deploy, custom SAML, dedicated support, SOC 2 pack.", - price: "Contact", - cta: "Contact sales", - href: "/contact", - }, - ], -}; +const SHIPPING = [ + "CLI + MCP server (Claude Code integration)", + "Hosted broker on claudemesh.com", + "End-to-end encrypted direct messages (crypto_box)", + "Priority routing (now / next / low)", + "Mesh invites + membership", + "Windows, macOS, Linux support", +]; + +const ROADMAP = [ + "Mesh dashboard (browser UI)", + "Message history + retention controls", + "Audit log", + "Slack / WhatsApp / Telegram gateways", + "Self-host broker + SSO", + "Cross-broker federation", +]; export const Pricing = () => { - const [tab, setTab] = useState<"individual" | "team">("individual"); - const tiers = TIERS[tab]; return (
@@ -73,72 +34,104 @@ export const Pricing = () => { Get started with claudemesh - -
- {(["individual", "team"] as const).map((k) => ( - - ))} -
-
- -
- {tiers.map((tier) => ( -
+ -
- -
-

- {tier.name} -

-

- {tier.desc} -

-
-
- {tier.price} -
- {tier.note && ( -
- {tier.note} -
- )} -
- - {tier.cta} - -
- ))} + Start free + + → + + +