Free Trial Progress Nudge
A days-remaining trial card with one upgrade action, whose tone steps from calm to urgent as the account’s real trial clock runs down so the nudge gets harder to ignore exactly when it should.
Growth & Conversion · React · Subscription · commercial licence · v1.0.1 · updated 2026-10-15 · Live demo
Install
Section titled “Install”velocityx add free-trial-progress-nudgeSubscription component. Run velocityx login with your key first — get one.
---import FreeTrialProgressNudge from '../components/velocity/free-trial-progress-nudge/FreeTrialProgressNudge.tsx';---<FreeTrialProgressNudge client:visible />| Prop | Type | Default | Description |
|---|---|---|---|
daysRemaining | number | required | — |
totalDays | number | required | — |
planName | string | 'Pro' | — |
upgradeHref | string | required | — |
onDismiss | () => void | — | — |
dismissible | boolean | true | — |
storageKey | string | null | 'velocity.trialnudge.dismissed' | — |
Files written
Section titled “Files written”velocityx drops these into your project:
components/velocity/free-trial-progress-nudge/FreeTrialProgressNudge.tsx
Peer dependencies
Section titled “Peer dependencies”react — nothing else. Zero external dependencies is the point.
Theming
Section titled “Theming”Colours come from the primary-* / accent-* Tailwind scales, so this drops into a project
that is not Velocity without dragging our brand in. Install the contract once:
velocityx themeThen set your whole brand in one place — raw RGB channels, not hex (a hex here silently breaks every opacity variant):
:root { --vx-brand: custom; --vx-primary-600: 220 38 38;}There is no component-level font-family anywhere in the library — your font cascade wins.
Licence
Section titled “Licence”Commercial, for the duration of an active Velocity X subscription. The source is served by the licence-gated endpoint, never by the public CDN.