Description
Add the in-extension upgrade experience: a clear "Upgrade to Pro" entry point, a concise paywall/comparison surface, and the over-quota prompt shown when a free user runs out of AI for the day. Upgrade opens Stripe Checkout in a new tab via the backend, and the panel reflects Pro status once the entitlement refreshes.
Why
Conversion happens at the moment a user feels the limit, so the upgrade path must be obvious, honest, and one click away from checkout. A good paywall also sets expectations (what Pro includes, the price) which reduces refunds and support. Showing it inline in the side panel keeps the user in context instead of bouncing them to a website.
Acceptance Criteria
Resources
Description
Add the in-extension upgrade experience: a clear "Upgrade to Pro" entry point, a concise paywall/comparison surface, and the over-quota prompt shown when a free user runs out of AI for the day. Upgrade opens Stripe Checkout in a new tab via the backend, and the panel reflects Pro status once the entitlement refreshes.
Why
Conversion happens at the moment a user feels the limit, so the upgrade path must be obvious, honest, and one click away from checkout. A good paywall also sets expectations (what Pro includes, the price) which reduces refunds and support. Showing it inline in the side panel keeps the user in context instead of bouncing them to a website.
Acceptance Criteria
Resources
app/src/sidepanel/pages; UI kit inapp/src/components/ui