Progress Bars, Reading Rails, and Gamification

Reading Progress Rail (Sidebar with Read Time)

A small floating side rail that sits fixed in the bottom-right corner of the viewport (hidden on mobile). Shows a thin vertical progress bar, the percent read, and the estimated reading time. Ideal for long-form articles, editorial pages, and docs.

Live preview

Loading preview

No extra dependencies. React 18+ and Tailwind CSS v3+ assumed. Save as ReadingProgressRail.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/ReadingProgressRail.tsx as a client component. Fixed bottom-6 right-6 z-40, hidden below sm breakpoint, flex-col with rounded-full white/85 backdrop-blur border. Inside: a 1px wide 128px tall vertical rail (bg-[#F0F0F0]) with an inner div transforming scaleY from origin-top based on scroll progress. Below: percent (semibold black tabular-nums) + read time (9px muted). Uses rAF + lerp (0.15). Props: readMinutes. Single default export.

How to use this Reading Progress Rail (Sidebar with Read Time) as a prompt

  1. Paste the prompt into Claude Code, Cursor, or Google Stitch to generate a Reading Progress Rail with percent-complete and read-time labels for React article pages.
  2. Best for blog posts, documentation pages, and long-form editorial articles where readers need to see how far they've got.
  3. Ask Codex or Lovable to swap the position from right to left, or feed a custom estimated-read-time value from your CMS.

How to use this Reading Progress Rail (Sidebar with Read Time) as code

  1. Drop the React + Tailwind file into `components/article/` and wrap it around your article body. Accepts an estimated read time in minutes as a prop.
  2. Uses framer-motion useScroll to compute percent complete. No global CSS required, all Tailwind utility classes.
  3. Works with Next.js App Router, Astro, MDX, and Contentlayer.

Other React progress and reading components like the Reading Progress Rail (Sidebar with Read Time)

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 Reading Progress Rail (Sidebar with Read Time)

How do I add a Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) free to use in commercial projects?+

Yes. Every component in the AI Library, including the Reading Progress Rail (Sidebar with Read Time), 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 reading frameworks does the Reading Progress Rail (Sidebar with Read Time) support?+

The Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) 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 Reading Progress Rail (Sidebar with Read Time) alongside any other section component. They are compatible with shadcn/ui, Radix UI, MUI, and any other component library you are already using.