Free React Gym & Fitness Components
Gym websites usually chase aesthetics while members just want the timetable. This set serves both: a class timetable that works on a phone at 5:45am, membership tiers without pricing games, a coach roster and cred strip, program cards and a program comparison table, a training split board, a PR leaderboard, a transformation strip that handles before/after respectfully, a challenge countdown, and a trial pass CTA. Built for gyms, CrossFit boxes, and studios that win on community and coaching.
12 components · MIT licensed · installable with the shadcn CLI
Challenge Countdown Panel
A gym challenge block that starts the clock, bold condensed challenge name, an SSR-safe rolling countdown to a prop-driven start date, stakes line and spots left. React and Tailwind.
Class Timetable
A weekly timetable with gym-wall energy, bold condensed class names, mono start times, coach lines, five-dot intensity marks, and a spots-left state that makes you book now.
Coach Cred Strip
A certifications strip that treats coaching credentials as data, cert codes in mono with sr-only expansions, years and clients in tabular figures, and one lead-coach keyline.
Coach Roster
Trainer cards with a coach's confidence, bold uppercase names over structural portrait panels, specialty chips, certifications as mono marks, and a book-your-intro CTA per card.
Gym Stats Board
The gym's numbers board, members, classes a week, and PBs this month counting up in heavy tabular figures under bold condensed labels, with a plain-spoken honesty footnote.
Membership Tiers
Gym pricing in the coach's voice, bold uppercase tier names like FOUNDATION and SURGE, per-week prices in big tabular figures, commitment notes, and a ruled ledger with zero glow.
PR Leaderboard
The gym's record board in React, ranked lifters with heavy tabular kilograms, NEW flags on fresh PRs, a coach-verified footnote, and Tailwind contrast that reads across the room.
Program Block Card
A training-program card in the coach's voice, phase name in bold condensed caps, weeks and sessions per week as mono data, an outcome promise line, and five difficulty dots.
Program Compare Table
Training programs compared like a coach would, bold uppercase columns over ruled attribute rows, sessions per week in mono data, one badge pick. A React and Tailwind block.
Training Split Board
The weekly split on the wall, seven ruled day cells with bold uppercase focus names, key lifts, mono set volumes, and honest rest days. A React and Tailwind block for gyms.
Transformation Strip
Member results told in numbers and words, not photos, huge stat deltas (kg down, weeks in, PB kg added) with a quote snippet each. No body imagery; inclusive by design.
Trial Pass CTA
The first-week pass sold like a coach would, a day-by-day mini plan in three ruled rows, a plain no-lock-in honesty line, and one bold imperative CTA that closes it.
Frequently asked questions
Can the class timetable sync with my booking software?
It renders sessions from a plain data array, so you can feed it from Mindbody, Glofox, TeamUp, or a hand-edited file. Each session links wherever you point it, usually your booking deep link.
Is the transformation strip appropriate to use?
It is designed for consent-first use: named members, their own words, and timeframes, not bait imagery. If your gym culture is results-driven it presents them credibly; if not, the PR leaderboard and coach roster tell the same story through performance and people.
Which components suit a personal trainer rather than a gym?
The program block card, program compare table, coach cred strip, and trial pass CTA form a complete solo-PT page. Skip the timetable and leaderboard unless you run group sessions.