Skip to content

feat(pricing): reduce Pro Business to $49.99/mo and $499/yr#5688

Merged
koala73 merged 2 commits into
mainfrom
feat/pro-business-price-cut
Jul 27, 2026
Merged

feat(pricing): reduce Pro Business to $49.99/mo and $499/yr#5688
koala73 merged 2 commits into
mainfrom
feat/pro-business-price-cut

Conversation

@koala73

@koala73 koala73 commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Follow-up to #5635: cuts Pro Business from $69.99/$699.99 to $49.99/mo · $499/yr.

One-knob change in convex/config/productCatalog.ts (priceCents 4999/49900) with everything downstream regenerated via npm run product:facts: generated bundle + edge module, tiers.json, JSON-LD offers, pricing docs (en+zh), public/pricing.md summary, and the rebuilt /pro bundle. Hand-maintained spots updated: /pro FAQ answer (en + zh locale), CHANGELOG entry, and the U1 catalog-price test pin.

Verified: product:facts:check OK, catalog + deploy-config suites 202/202, no stale $69.99 string anywhere in served surfaces, both typechecks green.

Before announcing: update the two Dodo products to the new prices — the catalog values are display/fallback only; checkout charges what Dodo has configured (pdt_0NjyFDbhURh2oROgPIU3G → $49.99, pdt_0Nk072fxPUcHWivZRtlQW → $499). After merge, re-run the #5635 runbook tail if not yet done: npx convex deploy + seedProductPlans, Railway relay deploy.

Also fixed en route: this worktree's core.hooksPath pointed at the main checkout's stale pre-push (pre-#5672), which failed every push touching pro-test — reset to the relative .husky per the 07-24 incident fix.

https://claude.ai/code/session_01GhxA6qFYCtNxcUEQ2wJJAo

Catalog priceCents 4999/49900; all surfaces regenerated via product:facts
(bundle, edge module, tiers.json, JSON-LD offers, pricing docs en+zh,
pricing.md summary) and the /pro bundle rebuilt. Hand-maintained spots
updated: /pro FAQ answer (en + zh locale), CHANGELOG entry, U1 price pin.
Catalog + deploy-config suites 202/202, facts check OK, both typechecks
green.

Dodo product prices must be updated to match before announce — the
catalog values are display/fallback; checkout charges what Dodo has.

Claude-Session: https://claude.ai/code/session_01GhxA6qFYCtNxcUEQ2wJJAo
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
worldmonitor Ready Ready Preview, Comment Jul 27, 2026 4:37pm

Request Review

@mintlify

mintlify Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
WorldMonitor 🟢 Ready View Preview Jul 27, 2026, 4:27 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@greptile-apps

greptile-apps Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates Pro Business pricing from $69.99/$699.99 to $49.99/$499.

  • Changes the canonical catalog prices and regenerated catalog, product-facts, structured-data, and /pro assets.
  • Updates pricing documentation, localized FAQ text, changelog copy, and catalog-price test expectations.

Confidence Score: 3/5

The PR should not merge until the Dodo products are repriced or deployment is otherwise gated so customers cannot be offered one price and charged another.

Checkout ignores the changed catalog amounts and charges the prices attached to the existing Dodo product IDs, while the PR immediately publishes the new values across static pricing surfaces; the locale baseline also remains stale.

Files Needing Attention: convex/config/productCatalog.ts, pro-test/src/locales/en.json, scripts/locale-baselines/pro-test.json

Important Files Changed

Filename Overview
convex/config/productCatalog.ts Lowers the canonical fallback prices, but the retained Dodo products must be repriced separately before the advertised and charged amounts agree.
pro-test/src/locales/en.json Updates the FAQ price correctly, but leaves its translation baseline stale.
api/_product-catalog.generated.js Regenerates public product facts and fallback prices consistently from the canonical catalog.
pro-test/src/generated/tiers.json Correctly carries the new monthly and annual prices into the pricing-page fallback data.
tests/product-catalog-data-export.test.mts Updates the canonical catalog assertions to pin the new cent values.

Reviews (1): Last reviewed commit: "feat(pricing): reduce Pro Business to $4..." | Re-trigger Greptile

planKey: "pro_business_monthly",
displayName: "Pro Business Monthly",
priceCents: 6999,
priceCents: 4999,

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.

P1 Dodo charge bypasses catalog price

When this catalog change is deployed before both retained Dodo products are repriced, static surfaces advertise $49.99/month or $499/year while checkout sends only the product ID and Dodo charges its previously configured amount, causing customers to be offered one price and charged another.

Knowledge Base Used: Convex Backend

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Acknowledged — this is the operational sequencing risk already called out in the PR body: the catalog values are display/fallback only and checkout charges Dodo's configured price, so the two retained Dodo products must be repriced ($49.99 / $499) before this deploys/announces. No code change: checkout intentionally sends only the product ID. Note the live /pro cards read relay-seeded Dodo prices, so they'd show the OLD price (not the new one) until Dodo is updated — the mismatch window is visible, not silently undercharging.

"a3": "Enterprise is for teams that need shared use, APIs, integrations, deployment options, and direct support.",
"q4": "Can I start with Pro and upgrade later?",
"a4": "Yes. Pro is for personal use. Pro Business ($69.99/mo) adds the commercial license, data export, 25 dashboards, and 250 MCP calls/day. API plans cover programmatic access, and Enterprise covers custom deployments. Upgrades run through the billing portal — the app guides you through the steps.",
"a4": "Yes. Pro is for personal use. Pro Business ($49.99/mo) adds the commercial license, data export, 25 dashboards, and 250 MCP calls/day. API plans cover programmatic access, and Enterprise covers custom deployments. Upgrades run through the billing portal — the app guides you through the steps.",

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 FAQ translation baseline remains stale

This source string now contains $49.99/mo, but its locale baseline still contains $69.99/mo, so the next translation workflow marks an already-synchronized FAQ entry stale and creates unnecessary localization churn.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Fixed in bd39270 — the price-rewrite pass only matches $-prefixed formats, so 11 locales still carried localized old prices (69,99 USD / €69,99 / trailing-$ / Persian ۶۹٫۹۹). All swept to $49.99 equivalents, the baseline faq.a4 advanced to the new source string, and the /pro bundle rebuilt. Locale guard 24/24.

The price-rewrite pass only matches $-prefixed formats, so 11 /pro
locales kept the old FAQ price in localized renderings (69,99 USD,
€69,99, trailing-$ 69,99 $, Persian ۶۹٫۹۹). All swapped to the $49.99
equivalents, the en translation baseline (scripts/locale-baselines/
pro-test.json faq.a4) advanced to the new source string so the sync
workflow doesn't churn, and the /pro bundle rebuilt. Locale guard 24/24,
freshness 20/20, facts check OK.

Flagged by Greptile on #5688.

Claude-Session: https://claude.ai/code/session_01GhxA6qFYCtNxcUEQ2wJJAo
@koala73
koala73 merged commit 3950043 into main Jul 27, 2026
28 checks passed
@koala73
koala73 deleted the feat/pro-business-price-cut branch July 27, 2026 16:40
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