Unlock features with elegant UX

Feature Lock

A suite of upgrade-ready UI building blocks that help teams blur, tease, and convert users without breaking their flow.

BlurWrapperPaywallBannerFeatureTooltipUpgradeModalUsageProgress

Meet the toolkit

Install only what you need—or compose the full suite for a complete monetization experience.

BlurWrapper

Blur locked content, manage focus, and run async upgrade flows with accessible defaults.

PaywallBanner

Announce launches or quota limits with dismissible messaging that respects user intent.

FeatureTooltip

Offer subtle inline upsells for disabled actions, icons, or table cells with async CTAs.

UpgradeModal

Compare plans in-place with responsive cards, async buttons, and enterprise contact paths.

UsageProgress

Visualize quotas, warn before limits, and funnel users toward the right upgrade flow.

PaywallBanner · Announce features without hard paywalls

Highlight launches and quota warnings while letting users dismiss messaging when they're not ready yet.

New component

PaywallBanner is now in the registry

Install the dismissible announcement banner to highlight launches, quota warnings, and upgrade paths across your product.

  • Persist dismissals with storageKey when you re-launch the banner.
  • Run async upgrade flows with built-in pending and error states.

BlurWrapper · Interactive demo

Toggle sections to experience blur effects, dialogs, and inline overlays in action.

Team Analytics
Trends, breakdowns, exports
Locked

Last 7 days

12,941

Conversion rate

3.7%

Billing Settings
Payment method & invoices
Reports
Schedule, share, export

Scheduled

8

Exports this month

27

FeatureTooltip · Inline nudges

Keep upgrade messaging lightweight for buttons, table cells, icons, and other micro-surfaces.

UpgradeModal · Compare plans without leaving the page

Show plan comparisons with responsive cards, async buttons, enterprise contact paths, and more.

UsageProgress · Keep quotas healthy

Show customers where they stand, warn before they hit limits, and highlight the value of upgrading.

Usage overview

Stay on top of quota limits and see when to upgrade.

API requests

Scale plan adds 500k requests / month

92% used

92,300 / 100,000

Workspace seats

2 remaining

28 / 30

Scheduled exports

60% used

12 / 20

Upgrade unlocks

Never hit a quota surprise. Unlock higher limits and priority support.

Scale plan unlocks 500k requests & 100 seats

Quotas reset on May 1. Upgrading keeps existing data intact.

Need custom limits?Talk to sales

AgeGate · Verify age without disrupting flow

Auto-triggered

Contextual age verification for alcohol, cannabis, adult content, and regulated products. Supports multiple storage methods and custom compliance content.

Demo method:
Installation
npx shadcn@latest add https://feature-lock.griffen.codes/r/age-gate

Why Feature Lock?

🎯 Context-aware upsells

Use the right pattern for every upsell—from blurred content and inline tooltips to banners and modals.

♿ Accessible by default

Radix primitives, focus management, and ARIA helpers keep each component inclusive out of the box.

⚡ Async-ready

Built-in loading, error recovery, and analytics hooks make wiring real billing flows painless.

🎨 Flexible styling

Tailwind-friendly APIs, render props, and composable primitives adapt to any product surface.