From e20148cc0c902ec5d274aa10c3da0ed090ce7976 Mon Sep 17 00:00:00 2001 From: truemperor Date: Thu, 13 Aug 2026 19:28:24 +0100 Subject: [PATCH 1/2] feat(pricing): rebrand tiers to Free/Personal/Team and refresh value props MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename Pro→Personal and Max→Team with screenshot-matched pricing ($20/$100 monthly, $16/$80 annual) and updated per-tier value propositions: auto-review, comment-to-review, overage credits, model tiers, onchain bounty automation, and custom review-pipeline workflows. Drop inline-PR-review bullet from paid cards, remove the goal-coverage comparison row, and sync the compare table and FAQ. Co-Authored-By: Claude Opus 4.8 --- src/pages/PricingPage.tsx | 97 +++++++++++++++++++++++++-------------- 1 file changed, 63 insertions(+), 34 deletions(-) diff --git a/src/pages/PricingPage.tsx b/src/pages/PricingPage.tsx index 4b11903..6543d73 100644 --- a/src/pages/PricingPage.tsx +++ b/src/pages/PricingPage.tsx @@ -37,10 +37,10 @@ const TextCell = ({ children, max = false, strong = false }: { children: React.R export function PricingPage() { const [billing, setBilling] = useState<'month' | 'year'>('month'); - const proPrice = billing === 'month' ? '$15' : '$12'; - const maxPrice = billing === 'month' ? '$45' : '$36'; - const proPriceNum = billing === 'month' ? 15 : 12; - const maxPriceNum = billing === 'month' ? 45 : 36; + const proPrice = billing === 'month' ? '$20' : '$16'; + const maxPrice = billing === 'month' ? '$100' : '$80'; + const proPriceNum = billing === 'month' ? 20 : 16; + const maxPriceNum = billing === 'month' ? 100 : 80; const { client } = useStatsigClient(); const logCtaClick = ( @@ -109,7 +109,7 @@ export function PricingPage() {
Free
-
For maintainers of public repos
+
Automated review on public repos
$0 / free forever @@ -127,9 +127,12 @@ export function PricingPage() { Get Started Now
+
Auto-reviews your own PRs — every PR you open
+
Comment "review" to review any other PR
Public repositories only — your project must be open-source
-
10 PR reviews / month
-
PR comments only — review surfaces inline on GitHub
+
30 PR reviews / month
+
Standard model — managed by DevAsign
+
Onchain bounty automation on GitHub
Multimodal goal ingestion — ticket, Figma, Loom
Community support
@@ -138,13 +141,13 @@ export function PricingPage() { {/* PRO */}
-
Pro
-
For private repos & small teams
+
Personal
+
For developers shipping private code
{proPrice} / month
- Private repos · Limited PR review + Private + public repos · 120 reviews / mo
-
Private repositories — full access
-
50 PR reviews / month — shared across your team
-
Inline PR reviews on GitHub — Check Run + grouped review with fix prompts
-
Linear acceptance-criteria sync
+
Auto-reviews your own PRs — every PR you open
+
Comment "review" to review any other PR
+
Private + public repositories — full access
+
120 PR reviews / month
+
150 overage credits / month — keep reviewing past the cap
+
Frontier model — managed by DevAsign
+
Custom workflows — tailor the review pipeline per repository
+
Onchain bounty automation on GitHub
+
Linear sync — acceptance-criteria
Email support
@@ -169,13 +177,13 @@ export function PricingPage() {
★ Recommended
-
Max
-
For shipping teams that review at velocity
+
Team
+
For teams reviewing at scale
{maxPrice} / month
- Unlimited PR reviews · Priority queue + Org-wide auto-review · 600 reviews / mo
-
Unlimited PR reviews — no per-month cap
-
Inline PR reviews on GitHub — Check Run + grouped review with fix prompts
+
Auto-reviews every PR opened in your GitHub org
+
Private + public repositories
+
600 PR reviews / month
+
650 overage credits / month — keep reviewing past the cap
+
Frontier model — managed by DevAsign
+
Custom workflows — tailor the review pipeline per repository
+
Onchain bounty automation on GitHub
Custom review policies per repo & team
-
Goal-coverage analytics & dashboards
+
Goal-coverage analytics & dashboards · Linear sync
Priority Slack support · 24h response
@@ -212,8 +225,8 @@ export function PricingPage() { Feature Free - Pro - Max ★ + Personal + Team ★ @@ -230,9 +243,19 @@ export function PricingPage() { Reviews PR reviews / month - 10 - 50 - Unlimited + 30 + 120 + 600 + + + Overage credits / month + + 150 + 650 + + + Auto-review every PR in your GitHub org + Multimodal goal ingestion (ticket, Figma, Loom) @@ -243,10 +266,8 @@ export function PricingPage() { - Goal-coverage scoring & dashboards - - Org-wide - Org-wide + Custom review-pipeline workflows (per repo) + Models @@ -262,6 +283,10 @@ export function PricingPage() { GitHub — inline PR reviews & checks + + GitHub — onchain bounty automation + + Linear — acceptance-criteria sync @@ -298,19 +323,23 @@ export function PricingPage() {
Why is Free public-repo only? -

Open source is where the community lives, and we want goal-aware review on every public PR forever — without billing friction. Private repositories carry compute, storage, and access-control overhead that the Pro tier exists to fund.

+

Open source is where the community lives, and we want goal-aware review on every public PR forever — without billing friction. Private repositories carry compute, storage, and access-control overhead that the Personal tier exists to fund.

Which model reviews my PRs? -

DevAsign manages this for you — there's nothing to configure. On Pro and Max we automatically route each review to the best frontier model for the job (Claude, Gemini, Codex, or Grok). Free runs on a capable standard model.

+

DevAsign manages this for you — there's nothing to configure. On Personal and Team we automatically route each review to the best frontier model for the job (Claude, Gemini, Codex, or Grok). Free runs on a capable standard model.

+
+
+ What are overage credits? +

They keep your reviews running once you pass your monthly PR-review cap — Personal includes 150 and Team includes 650. Reviews draw from your credits automatically, so a busy month never leaves a PR unreviewed.

- What if my team uses 1,000 PRs in a month? -

If you're consistently above 50 PR reviews a month, Max removes the cap entirely and gets you a priority capacity lane. Most teams that hit Pro's ceiling upgrade within 60 days.

+ What if my team reviews far more than the cap? +

If you're consistently above Personal's 120 reviews a month, Team lifts you to 600 reviews plus 650 overage credits and a priority capacity lane. Most teams that hit Personal's ceiling upgrade within 60 days.

Can I cancel any time? -

Yes. Pro and Max are month-to-month with no commitment, and you can cancel whenever you like. Cancellations aren't refunded — your plan stays active through the period you've already paid for, then doesn't renew.

+

Yes. Personal and Team are month-to-month with no commitment, and you can cancel whenever you like. Cancellations aren't refunded — your plan stays active through the period you've already paid for, then doesn't renew.

From 4864d749465b0e192dc261c914e863378d5ea66c Mon Sep 17 00:00:00 2001 From: truemperor Date: Thu, 13 Aug 2026 19:36:21 +0100 Subject: [PATCH 2/2] fix(pricing): resolve review findings on card/table/FAQ consistency Add comment-to-review to the Team card and a matching compare row, document the frozen 'pro'/'max' analytics keys, drop the goal-coverage claim from the Team card to match the removed compare row, and remove the unbacked priority-capacity-lane line from the FAQ. Co-Authored-By: Claude Opus 4.8 --- src/pages/PricingPage.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/pages/PricingPage.tsx b/src/pages/PricingPage.tsx index 6543d73..1c768d0 100644 --- a/src/pages/PricingPage.tsx +++ b/src/pages/PricingPage.tsx @@ -37,6 +37,8 @@ const TextCell = ({ children, max = false, strong = false }: { children: React.R export function PricingPage() { const [billing, setBilling] = useState<'month' | 'year'>('month'); + // Analytics keys 'pro'/'max' are frozen legacy identifiers for the Personal/Team tiers + // (logCtaClick plan values, data-plan/data-cta) — kept stable for Statsig dashboard continuity. const proPrice = billing === 'month' ? '$20' : '$16'; const maxPrice = billing === 'month' ? '$100' : '$80'; const proPriceNum = billing === 'month' ? 20 : 16; @@ -197,6 +199,7 @@ export function PricingPage() {
Auto-reviews every PR opened in your GitHub org
+
Comment "review" to review any other PR
Private + public repositories
600 PR reviews / month
650 overage credits / month — keep reviewing past the cap
@@ -204,7 +207,7 @@ export function PricingPage() {
Custom workflows — tailor the review pipeline per repository
Onchain bounty automation on GitHub
Custom review policies per repo & team
-
Goal-coverage analytics & dashboards · Linear sync
+
Linear sync — acceptance-criteria
Priority Slack support · 24h response
@@ -253,6 +256,10 @@ export function PricingPage() { 150 650 + + Comment "review" to review any PR + + Auto-review every PR in your GitHub org @@ -335,7 +342,7 @@ export function PricingPage() {
What if my team reviews far more than the cap? -

If you're consistently above Personal's 120 reviews a month, Team lifts you to 600 reviews plus 650 overage credits and a priority capacity lane. Most teams that hit Personal's ceiling upgrade within 60 days.

+

If you're consistently above Personal's 120 reviews a month, Team lifts you to 600 reviews plus 650 overage credits. Most teams that hit Personal's ceiling upgrade within 60 days.

Can I cancel any time?