Project
Roulette

Custom Range Slider

A styled range input with a value bubble that tracks the thumb.

StarterWeb appUI component1–3hAI-buildable 5/5no setup

Native range inputs are famously hard to style consistently. This builds a custom one with a floating label that follows the thumb — which requires accounting for thumb width so the bubble doesn't drift at the extremes.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 4

  • Range input restyled consistently across browsers
  • A value bubble follows the thumb as it moves
  • The bubble stays aligned at both ends of the track
  • Keyboard arrow keys adjust the value and move the bubble

The interesting part

  • Thumb-width compensation so the bubble tracks accurately at 0% and 100%

Once it works

  • Add a dual-thumb range variant
  • Support vertical orientation

Suggested stack

reacttypescripttailwindreact-hook-formframer-motionsupabase

Track it