Live demo · three widgets

All three widgets, running here — not screenshots.

This is the same code that ships inside the Noir Clinic Conversion Pack. Resize your window, try keyboard controls, scroll down.

Widget 01

Pricing Estimator

Pick a treatment and a tier. The price updates in real time, formatted to the currency you configure in a single JS object. Removes price anxiety before the booking form.

Try it: click any treatment chip, then switch tiers.

Estimate your consultation

Transparent starting prices. Final quote after your in-clinic assessment.

Starting from
$—

Inclusive of initial consultation. Personalized pricing confirmed after assessment.

Book your consultation →
Widget 02

Before / After Slider

Drag to compare. Pointer + keyboard support. Meets ARIA slider standards. Shows real outcomes without needing a full portfolio build.

Try it: drag the handle, or click the slider and use / .

Demo before — abstract gradient
Demo after — abstract gradient
Before After

Demo imagery is intentionally abstract. Live clinic sites use only consented patient photos.

Widget 03

Sticky WhatsApp Booking Bar

Scroll-gated, unobtrusive, always-reachable. Docks to the bottom on mobile after the hero scrolls past. Opens a pre-filled WhatsApp message to your clinic number.

Try it: keep scrolling — the bar appears at the bottom.

The sticky bar lives at the bottom of this page. Keep scrolling.
Seen enough?

Ship a booking-first clinic site this week.

Everything you just used — plus copy, sections, page outlines, setup video script, and Framer React components — ships as a single ZIP.

Get Noir Clinic Pack — $59

Extra scroll space so you can confirm the sticky bar shows up on scroll and hides when you're at the top. It disappears again if you scroll all the way back to the hero.

Every widget is independently configurable through a plain JS CONFIG object or a Framer Property Control — no code edits required.