Trainer-Assigned Workouts, Body Metrics & Two-Way Chat — Built Into Gym Builder
GB Fitness Tracking lets gym trainers assign personalised workouts from reusable templates, monitor weekly & monthly progress with Recharts-powered graphs, and message members two-way — all from the same dashboards Gym Builder already ships.
Managing fitness progress shouldn't mean a second plugin, a spreadsheet, or a separate chat app.
Gym Builder already handles your classes, trainers, members, registration and payments. But the moment a trainer wants to assign personalised workouts, track body metrics, see weekly progress charts, or message a member directly — gym owners reach for external tools that don’t share data with the gym website.
GB Fitness Tracking solves that. It adds fitness-tracking tabs directly inside the Trainer Login System and Student Login System that Gym Builder Pro already ships. One activation, eleven dedicated tables, zero conflicts with your theme.
A complete fitness-tracking surface for trainers and members.
Six built-in modules — workout templates, set-by-set logging, body metrics with auto-BMI, lifestyle stats, Recharts visualisations, and two-way communication. Every module is admin-toggleable.
Workout Templates
Reusable programs with weeks, difficulty, category. Sets, reps, weight, duration, rest and notes — per exercise, per week, per day.
Set-by-Set Logging
Members log actual reps, actual weight in kg and RPE 1–10 per set. Inline expander — no full-screen modal, mobile-first.
Recharts Visualisations
Weight trend line, weekly workout volume bars and adherence stat — across 7d / 30d / 90d / 1y ranges. Library lazy-loaded only when the Charts tab opens.
Body Metrics + Auto BMI
Weight, body fat %, muscle mass %, BMI plus seven circumferences (chest, waist, hips, biceps, thigh, calf, neck). BMI computed automatically.
Daily Lifestyle Stats
Quick-log calories, protein / carbs / fat, water (ml), sleep hours + 1-5 quality, steps. Each surface individually toggleable from settings.
Two-Way Chat + Coach Feed
Trainer ↔ member inbox with unread badges, 15s polling refresh, optimistic send. Pinned coach notes float to the top of the member feed.
Roster ring shows 7-day adherence at a glance.
The trainer dashboard gets a new Fitness Tracking tab listing every member the trainer coaches — pulled from class enrolments AND personal-session bookings (if the Personal Session add-on is active), deduped automatically by WP user ID.
- Live adherence ring — 7-day workout-completion % rendered as a conic-gradient ring around each member card.
- Unread badges — pinned coach notes and chat messages counted on the card itself.
- Streak chips — see who's on a roll without opening their profile.
- Source filter — All / Class members / Personal sessions, with a live search field.
- Roster aggregation — combines two sources, deduped by user ID.
Assign a template in three clicks.
Trainers pick from their workout template library, set a start date, optionally an end date, rename the assignment for that member, and save. The template’s exercises copy into a separate table so per-member tweaks don’t pollute the master template.
- Reusable templates with duration in weeks, difficulty (beginner / intermediate / advanced) and category.
- Per-member customisation of sets, reps, weight, duration, rest, notes — without touching the template.
- Per-trainer exercise library with name, category, muscle group, equipment, video URL, image URL, instructions.
- Default metric per exercise — reps, duration, distance — set at the library level.
- Permission toggle in admin: trainers can manage their own library, or read-only.
Set-by-set logging with RPE — built for phones.
Members open the Today tab on their student dashboard and see exactly what their trainer assigned for today’s day-of-week. Each exercise expands inline into a set logger.
- Set-by-set log — actual reps, actual weight, RPE 1-10 per set.
- Active goal bars — current value vs target value at the top of the screen.
- Daily streak chip rewards consecutive log days.
- Rest day handling — empty state shows "No exercises scheduled — rest day!"
- Theme-CSS-resilient — all classes prefixed with gbft- and scoped SCSS.
Recharts-powered progress visualisations.
Three charts ship out of the box — and the entire Recharts library (~530 KB) is lazy-loaded only when the Charts tab is opened, so first paint of the dashboard stays around 10 KB.
- Weight trend line — pulled from every measurement record on file.
- Workout volume per week — bar chart of total kg moved per ISO week.
- Adherence stat — percentage of days logged in the selected range, plus the raw day count.
- 4 time ranges — 7 days, 30 days, 90 days, 1 year — endpoint requeried on switch.
- Empty states handled — "No data in range" instead of broken axes.
Measurements with auto-computed BMI.
Members add a measurement record at any cadence — and BMI is computed automatically from weight + height. Trainers see the latest values on the member detail KPIs.
- Eleven fields per record — weight, body fat %, muscle mass %, BMI, chest, waist, hips, biceps, thigh, calf, neck.
- Metric or imperial — admin toggle controls kg/cm vs lb/in display globally.
- History table with most-recent-first sort and add-new modal.
- Trainer KPIs — current weight + latest BMI on the member profile.
One-tap quick log for water, calories, sleep & steps.
Daily lifestyle tracking is unique per member per day (DB-enforced via a unique index). Admins can disable any individual surface if their gym doesn’t care about, say, macros.
- Nutrition — calories + protein / carbs / fat in grams.
- Water — quick-log millilitres directly from the Today tab.
- Sleep — hours + 1-5 quality rating + energy level 1-5.
- Steps — daily step count.
- Feature toggles — admin can switch any of the four off cleanly.
Two-way chat — trainer ↔ member, with unread badges.
Both sides get an inbox of threads sorted by last message. Inside a thread, messages refresh every 15 seconds via polling, optimistic sends apply instantly, and the unread counter zeroes the moment the recipient opens the conversation.
- Thread inbox with unread pill per conversation.
- Optimistic send + auto-rollback on network failure.
- 15s polling refresh — no premium real-time service required.
- Auto read-receipt — opening a thread marks all messages as read.
- Email throttling — recipient gets at most one email per thread per window (0–1440 min, default 60).
Coach feed — pinned advice members can't miss.
Lighter than chat. Trainers post notes to a member’s feed; pinned notes float to the top, unread notes glow blue until the member taps to acknowledge them.
- Pinned vs regular notes — trainer chooses per post.
- Unread highlighting — feed cards glow blue until the member acknowledges.
- Member feed view — dedicated tab on the student dashboard.
- Instant email on new note (admin can disable).
- Note history visible to the trainer on the member's profile.
Five-tab admin panel under Gym Builder → Fitness Tracking.
A React-powered settings UI sits as a submenu under Gym Builder. Five tabs: General, Features, Notifications, Library, Templates. Everything stored under one option key so it backs up cleanly.
- Units — metric (kg / cm) or imperial (lb / in) globally.
- Reminder time — 24-hour clock for daily nudge cron in site timezone.
- Permissions — members can set own goals · trainers can manage own library.
- Feature toggles — nutrition, water, sleep, steps, two-way chat — individually.
- Email throttle window — 0 to 1440 minutes between chat emails.
Four built-in emails — cron-driven and event-driven.
WordPress cron handles the scheduled ones; new-note and new-message hooks fire instantly. Every email is admin-toggleable individually, and a PDF progress report is exportable on demand.
- Daily reminder (6 PM site TZ) — emails members with an active assignment who haven't logged yet today.
- Weekly recap (Sunday 8 PM) — total sets logged, days logged, total volume kg.
- New coach note — instant email to the member.
- New chat message — throttled email to the recipient.
- PDF progress report — Dompdf-powered export including measurements, volume, adherence, goals and notes.
Frequently Asked Questions
Do I need the Gym Builder plugin to use this?
Yes. GB Fitness Tracking is a companion add-on that requires Gym Builder version 2.3.3 or newer to be active. If Gym Builder isn’t active or is out of date, the plugin shows an admin notice and exits cleanly — your site continues to work normally.
Does this work with the existing Trainer & Student dashboards?
Yes — it adds a Fitness Tracking tab directly into the Trainer Login System and Student Login System that Gym Builder Pro ships. No separate page, no extra shortcode to place. The integration uses Gym Builder’s own dashboard tab hooks.
Will it conflict with my theme?
No. Every frontend CSS class is prefixed with gbft- and the SCSS is scoped so the dashboards survive whatever theme is active. The plugin ships theme-CSS-resilient by design.
Where is the data stored?
In eleven dedicated database tables created on activate (templates, exercises, assignments, logs, measurements, daily logs, goals, notes, messages and two join tables). On uninstall all tables and options are dropped cleanly.
Can I export member progress?
Yes. Each member can export a PDF progress report (powered by Dompdf) for any time range — 7d / 30d / 90d / 1y. The export bundles measurements, weekly volume, logged days, active goals and coach notes.
Does it use real-time websockets for chat?
No premium service required. Chat refreshes every 15 seconds via standard REST polling with optimistic sends. The recipient gets an email on each new message, throttled to one email per thread per window (admin-configurable 0–1440 minutes).
Where do trainer rosters come from?
Two sources merged automatically: members enrolled in a class the trainer teaches (Gym Builder core) and members who booked a personal session with the trainer (Personal Session add-on, optional). Deduped by WP user ID.
What are the technical requirements?
WordPress 5.8 or newer, PHP 7.4 or newer, and Gym Builder 2.3.3 or newer. The admin React app uses Tailwind-prefixed classes, the dashboards use scoped SCSS, and the Charts tab lazy-loads Recharts only when opened.
Pricing
Simple, no-renewal-trap pricing.
Pick the license that fits your number of sites. Each tier is available as a 1-year update plan or a lifetime plan. All plans come with a 30-day money-back guarantee.
Single Site
For one production site
$29.99/ year
or $89.99 lifetime
- 1 site activation
- All features included
- 1 year of updates
- 1 year priority email support
- 30-day money-back guarantee with terms & conditions
5 Sites
For agencies & multi-location gyms
$59.99/ year
or $179.99 lifetime
- 5 site activations
- All features included
- 1 year of updates
- 1 year priority email support
- 30-day money-back guarantee with terms & conditions
Unlimited Sites
For agencies with many client sites
$149.99/ year
or $449.99 lifetime
- Unlimited site activations
- All features included
- 1 year of updates
- 1 year priority email support
- 30-day money-back guarantee with terms & conditions
100% Money Back Guarantee
30-Days Money Back Guarantee
Safe & Secure Payment
Cards & Paypal Payments Supported
Quality and Support
Quality and support are the cornerstones of our approach.