StealThis .dev

Paywall — Soft / metered paywall

A self-contained metered paywall for the fictional Northwind Review. A long-read article reads freely while a sticky top bar tracks five free monthly reads on a shrinking progress ring with an aria-live counter. The article tail fades into a gradient veil, and a slide-up bar announces how many reads remain and invites a subscription. A Read another button decrements the meter live; at zero the veil hardens into a full block. A plans modal offers Starter, Pro, and Scale tiers with a monthly versus annual toggle that swaps prices live.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Soft / metered paywall

A complete soft-paywall reading view for the fictional Northwind Review, art-directed in the neutral product palette with an indigo brand and a teal accent. A long-read about the engineers keeping Lumen Bay above water opens normally — kicker, oversized headline, deck, byline, and a CSS-only duotone hero — while a sticky top bar tracks the reader’s monthly allowance on a circular progress ring. The ring shrinks and shifts from teal to amber to red as reads are used, and an aria-live counter announces “N of 5 free articles left” for screen readers.

The article’s final paragraphs dissolve into a gradient veil, and a sticky bar slides up from the bottom announcing how many free reads remain and inviting a subscription. The “Read another (simulate)” button decrements the meter and pushes a toast on each tap; when the count reaches zero the veil deepens, the tail paragraph blurs, and the soft fade hardens into a full lock card — the metered nudge becoming a hard gate. A plans modal (role="dialog", aria-modal, focus trap, Esc to close) presents Starter, Pro, and a highlighted “Most popular” Scale-tier lineup, with a Monthly/Annual toggle that swaps every price live and a “Save 20%” badge on the annual option. Subscribing clears the meter to unlimited and lifts the veil.

Everything is vanilla HTML, CSS, and JS with inline SVG icons — no frameworks, no build step, and no network requests beyond the Inter web font. A prefers-reduced-motion block neutralizes the slide and fade animations, and the layout collapses cleanly to a single column below 520px.

Illustrative UI only — the brand, article, prices, and bylines are fictional; not a real publication.