Progress Bars, Reading Rails, and Gamification

Scroll Progress Bar (Top of Page)

A thin bar pinned to the top of the viewport that grows as the reader scrolls. Widget-only, GPU-accelerated, tunable colour and height. Drop it once at the root of your layout and it works across every route.

Live preview

Loading preview

No extra dependencies. React 18+ and Tailwind CSS v3+ assumed. Save as ScrollProgressBar.tsx.

Or rebuild it with a prompt

Paste the prompt into the tool you already use. Each version is written specifically for that tool, matched to the same design constraints so the output stays consistent.

Build components/ScrollProgressBar.tsx as a client component. Fixed top-0 left-0 right-0 z-50 with a configurable height (default 3px). Inner div uses transform scaleX from origin-left, tracking window.scrollY / (document.documentElement.scrollHeight - window.innerHeight). Smooth with rAF + lerp (0.15 factor). Configurable color (default #2B65F6). Props: color, height. Single default export. No extra dependencies.

How to use this Scroll Progress Bar (Top of Page) as a prompt

  1. Paste the prompt into Claude Code, Cursor, or Google Stitch to build a Scroll Progress Bar for React and Next.js pages that fills as the reader scrolls.
  2. Ideal for long-form article layouts, blog post pages, and any React page where scroll depth matters for engagement.
  3. Ask Codex or Lovable to swap the bar color, thickness, or position (top vs bottom).

How to use this Scroll Progress Bar (Top of Page) as code

  1. Copy the React + Tailwind file into `components/layout/` and drop it inside your root layout. No props required, it tracks the whole page automatically.
  2. Uses framer-motion useScroll. Sits fixed at the top of the viewport with zero layout shift.
  3. Compatible with Next.js App Router root layout, Astro layout files, and any React 18+ layout wrapper.

Other React progress and reading components like the Scroll Progress Bar (Top of Page)

More progress and reading components with matching AI prompts for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch.

Related prompts for progress bars, reading rails, and gamification

Frequently asked questions about the Scroll Progress Bar (Top of Page)

How do I add a Scroll Progress Bar (Top of Page) to my website?+

Copy the source code from the "Copy code" button above and save it as a .tsx file in your components folder. The Scroll Progress Bar (Top of Page) is built with React and Tailwind CSS — add those as dependencies if they are not already in your project. Import and render the component wherever you need it. Every prop is optional and typed.

Can I use the Scroll Progress Bar (Top of Page) with Claude Code, Cursor, or Lovable?+

Yes. Each prompt tab above is tuned specifically for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch. Paste the prompt into whichever AI coding tool you are using and it will generate a Scroll Progress Bar (Top of Page) matched to your existing file structure, design tokens, and brand color. Claude Code and Cursor work best when your project is already open — they slot the component directly into your codebase. Lovable and Replit are fastest for a standalone preview.

How do I customise the progress-bar design and colors?+

The Scroll Progress Bar (Top of Page) uses Tailwind utility classes throughout, so every color, spacing value, and font weight is one class away from changing. Replace any color class with your brand token (for example, swap `bg-black` for `bg-[#your-hex]`). To change the animation timing, update the `duration-` or `delay-` classes, or pass new values into the Framer Motion `transition` prop if the component uses it. For a full brand restyle, paste the component into Claude Code or Cursor and describe your design system.

Is the Scroll Progress Bar (Top of Page) free to use in commercial projects?+

Yes. Every component in the AI Library, including the Scroll Progress Bar (Top of Page), is free to copy, adapt, and ship in commercial projects, client work, SaaS products, open-source repos, and internal tools. No attribution required, no license fee, no royalty.

What scroll frameworks does the Scroll Progress Bar (Top of Page) support?+

The Scroll Progress Bar (Top of Page) is a plain React 18 client component written in React + Tailwind. It runs on Next.js (App Router and Pages Router), Vite, Remix, Gatsby, and any other framework that supports React 18 and Tailwind CSS v3. Keep the "use client" directive at the top of the file when you paste it into a Next.js App Router project.

Does the Scroll Progress Bar (Top of Page) work with TypeScript?+

Yes. The component is written in TypeScript with fully typed props and exported interfaces. Paste it into a TypeScript project and it compiles without modification. If you need a plain JavaScript version, ask Claude Code or Cursor to strip the type annotations.

Can I combine the Scroll Progress Bar (Top of Page) with other AI Library sections?+

Yes. Every component in the AI Library is standalone with no shared global state, no conflicting resets, and no namespace collisions. Drop the Scroll Progress Bar (Top of Page) alongside any other section component. They are compatible with shadcn/ui, Radix UI, MUI, and any other component library you are already using.