Skip to content

Commit 17a2218

Browse files
tgberkeleyTom Gotsman
authored andcommitted
update pricing with latest AI changes (#1225)
* update pricing with latest AI changes * updates for aleks comments --------- Co-authored-by: Tom Gotsman <[email protected]>
1 parent 23c0f5a commit 17a2218

File tree

4 files changed

+178
-85
lines changed

4 files changed

+178
-85
lines changed

pcweb/pages/pricing/header.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,17 @@ def header() -> rx.Component:
88
"Pricing that scales with you",
99
class_name="gradient-heading font-semibold text-4xl xl:text-5xl text-center",
1010
),
11-
rx.el.h2(
12-
"Start for free using the open-source and scale as you grow.",
13-
class_name="font-medium text-slate-9 text-lg text-center text-wrap",
11+
rx.hstack(
12+
rx.el.a(
13+
rx.badge("Build with AI", class_name="text-lg text-center text-wrap rounded-md bg-[--violet-9] flex items-center justify-center text-[#FCFCFD]"),
14+
href="https://reflex.build",
15+
),
16+
rx.el.a(
17+
rx.badge("Deploy with Cloud", class_name="text-lg text-center text-wrap rounded-md bg-[--violet-9] flex items-center justify-center text-[#FCFCFD]"),
18+
href="https://cloud.reflex.dev",
19+
),
20+
rx.badge("Scale with Enterprise", class_name="text-lg text-center text-wrap rounded-md bg-[--violet-9] flex items-center justify-center text-[#FCFCFD]"),
21+
gap="2rem",
1422
),
1523
class_name="flex flex-col gap-4 justify-center items-center max-w-[64.19rem] 2xl:border-x border-slate-4 w-full pb-16 "
1624
+ rx.cond(HostingBannerState.show_banner, "pt-[13rem]", "pt-[10rem]"),

pcweb/pages/pricing/plan_cards.py

Lines changed: 44 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,11 @@ def grid() -> rx.Component:
134134

135135

136136
def card(
137-
title: str, description: str, features: list[tuple[str, str]], button_text: str, price: str = None
137+
title: str,
138+
description: str,
139+
features: list[tuple[str, str]],
140+
button_text: str,
141+
price: str = None,
138142
) -> rx.Component:
139143
return rx.box(
140144
rx.el.div(
@@ -151,9 +155,11 @@ def card(
151155
rx.icon(feature[0], class_name="!text-slate-9", size=16),
152156
feature[1],
153157
rx.tooltip(
154-
rx.icon("info", class_name="!text-slate-9", size=12),
158+
rx.icon("info", class_name="!text-slate-9", size=12),
155159
content=feature[2],
156-
) if len(feature) == 3 else "",
160+
)
161+
if len(feature) == 3
162+
else "",
157163
class_name="text-sm font-medium text-slate-11 flex items-center gap-3",
158164
)
159165
for feature in features
@@ -177,7 +183,11 @@ def card(
177183

178184

179185
def popular_card(
180-
title: str, description: str, features: list[tuple[str, str]], button_text: str, price: str = None
186+
title: str,
187+
description: str,
188+
features: list[tuple[str, str]],
189+
button_text: str,
190+
price: str = None,
181191
) -> rx.Component:
182192
return rx.box(
183193
rx.box(
@@ -189,7 +199,9 @@ def popular_card(
189199
grid(),
190200
rx.hstack(
191201
rx.el.h3(title, class_name="font-semibold text-slate-12 text-2xl"),
192-
rx.badge(price, color_scheme="violet", size="3") if price else rx.fragment(),
202+
rx.badge(price, color_scheme="violet", size="3")
203+
if price
204+
else rx.fragment(),
193205
class_name="flex items-center mb-2 gap-2",
194206
),
195207
rx.el.p(description, class_name="text-sm font-medium text-slate-9 mb-8"),
@@ -201,7 +213,9 @@ def popular_card(
201213
rx.tooltip(
202214
rx.icon("info", class_name="!text-slate-9", size=12),
203215
content=feature[2],
204-
) if len(feature) == 3 else "",
216+
)
217+
if len(feature) == 3
218+
else "",
205219
class_name="text-sm font-medium text-slate-11 flex items-center gap-3",
206220
)
207221
for feature in features
@@ -232,27 +246,25 @@ def plan_cards() -> rx.Component:
232246
"Hobby",
233247
"Everything you need to get started.",
234248
[
235-
("heart-handshake", "Community support"),
236-
("app-window", "Unlimited apps", "Free users are limited to 20 hours of 1 vCPU, 1 GB RAM machines per month."),
237-
("clock", "1 day log retention"),
238-
("code", "Open Source Framework"),
239-
("file-code", "Starter Templates"),
249+
("brain", "AI App Builder (Limited Access)"),
250+
(
251+
"app-window",
252+
"Cloud Unlimited Apps",
253+
"Free users are limited to 20 hours of 1 vCPU, 1 GB RAM machines per month.",
254+
),
255+
("code", "Reflex Open Source"),
256+
("heart-handshake", "Discord/Github Support"),
240257
],
241258
"Start building for free",
242259
price="Free",
243260
),
244261
popular_card(
245262
"Pro",
246263
"For professional projects and startups.",
247-
[
248-
("heart-handshake", "Priority Community support"),
249-
("users", "1 seat incl. (additional seats at $20/mo)"),
250-
("credit-card", "$10 / month free compute credits"),
251-
("server", "Customize machine sizes"),
252-
("clock", "30 days log retention"),
253-
("globe", "Multi-region"),
264+
[
265+
("brain", "AI App Builder (Free $20 credits / month)"),
266+
("credit-card", "Cloud (Free $10 credits / month)"),
254267
("brush", "Custom domains"),
255-
("file-badge", "Remove Branding", "Check out the Reflex Branding doc page to learn how to remove the 'Built with Reflex' badge from your app."),
256268
("circle-plus", "Everything in Hobby"),
257269
],
258270
"Start with Pro plan",
@@ -262,29 +274,31 @@ def plan_cards() -> rx.Component:
262274
"Team",
263275
"For teams looking to scale their applications.",
264276
[
265-
("mail", "Email/Slack support"),
266-
("users", "5 seat incl. (additional seats available)"),
267-
("credit-card", "Monthly free compute credits"),
268-
("git-branch", "Create multiple projects"),
269-
("signal", "Full Website Analytics"),
277+
("users", "Invite your team mates"),
278+
(
279+
"cable",
280+
"Connect AI Builder to your Data",
281+
"Integrations include Databricks, Snowflake, etc.",
282+
),
270283
("lock-keyhole", "One Click Auth"),
271-
("file-badge", "Remove Branding Everywhere", "Check out the Remove Reflex Branding section in the Self Hosting doc page to learn how to remove the 'Built with Reflex' badge from your app."),
284+
("file-badge", "AG Grid with no Reflex Branding"),
285+
("mail", "Email support"),
272286
("circle-plus", "Everything in Pro"),
273287
],
274288
"Contact sales",
289+
price="$49/user/mo + compute",
290+
redirect_url=REFLEX_DEV_WEB_LANDING_FORM_URL_GET_DEMO,
275291
),
276292
card(
277293
"Enterprise",
278294
"Get a plan tailored to your business needs.",
279295
[
280-
("headset", "Dedicated Support"),
281-
("users", "Customized seat amount"),
296+
("hand-helping", "White Glove Onboarding"),
282297
("user-round-plus", "Personalized integration help"),
283298
("hard-drive", "On Premise Deployment"),
284-
("clock", "Unlimited log retention"),
285-
("activity", "Error Monitoring and Observability"),
299+
("key", "Bring your own AI API keys"),
300+
("headset", "Dedicated Support Channel"),
286301
("git-pull-request", "Influence Reflex Roadmap"),
287-
("shield-check", "Audit logs, SSO, SOC2 Reports"),
288302
("circle-plus", "Everything in Team"),
289303
],
290304
"Contact sales",

pcweb/pages/pricing/pricing.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,17 @@
44
from pcweb.pages.index.views.footer_index import footer_index
55
from pcweb.pages.pricing.header import header
66
from pcweb.pages.pricing.plan_cards import plan_cards
7-
from pcweb.pages.pricing.table import comparison_table_hosting, comparison_table_oss
8-
from pcweb.views.bottom_section.get_started import get_started
7+
from pcweb.pages.pricing.table import (
8+
comparison_table_hosting,
9+
comparison_table_ai_and_oss,
10+
)
911
from pcweb.pages.pricing.faq import faq
1012
from pcweb.pages.pricing.calculator import calculator_section
1113
from pcweb.meta.meta import hosting_meta_tags
1214

1315
pricing_path = "/pricing"
16+
17+
1418
@rx.page(route=pricing_path, title="Reflex · Pricing", meta=hosting_meta_tags)
1519
def pricing() -> rx.Component:
1620
"""Get the Pricing landing page."""
@@ -23,9 +27,9 @@ def pricing() -> rx.Component:
2327
rx.box(
2428
header(),
2529
plan_cards(),
26-
calculator_section(),
30+
comparison_table_ai_and_oss(),
2731
comparison_table_hosting(),
28-
comparison_table_oss(),
32+
calculator_section(),
2933
faq(),
3034
class_name="flex flex-col relative justify-center items-center w-full",
3135
),

0 commit comments

Comments
 (0)