Built for fitness coaches

Your programming deserves a system,
not a Whatsapp group.

VeloCMS is a publishing platform for independent fitness coaches that handles workout schedule publishing, a native video library, and Stripe-powered paid program sales in one place — no plugin stack, no $79+/mo TrainerCentral subscription, no algorithm deciding which clients see this week's programming. The Engineering theme — monospaced numerics, structured tables, high-contrast dark surface — ships free on every plan and turns your sets/reps/RPE data into content that looks as systematic as it is.

Why independent fitness coaches keep hitting the same walls

Three different tools, three different problems, one root cause — none of them were built for publishing programming as a business.

Whatsapp groups don't scale past 50 clients

At twenty clients, a Whatsapp group works. By fifty, it's chaos. Training schedules, program updates, form-check videos, Q&A threads, and motivational check-ins all collide in the same scrolling feed with no search, no tagging, no archive, and no way to pin the week's programming so it doesn't drown under thirty responses. The coach who built their practice on Whatsapp eventually hits a ceiling where the communication overhead is eating the hours they should spend programming. Every new client who joins inherits a backlog of context they can't read. Every question that's already been answered gets asked again because nobody can find the answer in 200 messages from last week. It's not a scalability failure — it was never designed for this use case.

Instagram and DMs lose your IP

You spent four hours producing a programming explainer video — a breakdown of how to structure a peaking block for a powerlifting meet, or why most online coaches programme too much volume in the third week. You posted it as a Reel. It got two hundred views, sparked a few DMs, and then disappeared into the feed. The knowledge has no permanent home. Nobody searching Google for 'how to peak for a powerlifting meet' will find that Reel in three months. The client who joined after you posted it will never find it. And when Instagram tweaks its algorithm again — as it does roughly four times a year — your next video starts with zero distribution because the previous one didn't hit a watch-time threshold the platform arbitrarily decided matters. Your programming knowledge is valuable. It deserves a URL that keeps working.

TrainerCentral and Trainerize cost $79+/mo and own your data

TrainerCentral's paid tier starts at $79 per month. Trainerize starts at $35 but compounds quickly with add-ons as your client list grows past ten. Both platforms are built around one-on-one client programming workflows — workout builders, check-in forms, habit trackers. That's useful if you run high-touch individual coaching at premium prices. But if you're an online coach selling group programs, a $79/year PDF bundle, or a twelve-week course, you're paying for infrastructure you'll never use. And when either platform shuts down a tier, acquires your data in a policy update, or raises prices for the third year in a row, you lose two years of programming archives, client communications, and the domain authority you spent months building on their subdomain. The moment your best clients feel the product experience decline, they start asking if this coaching operation is professional enough for premium prices.

What a fitness-coach-first platform gives you

Programming schedules, video library, paid programs, before/after galleries, a weekly newsletter, and the Engineering theme — bundled into one platform with no plugin overhead and no platform taking a cut of your program revenue.

Programming schedule publishing

Publish your weekly training blocks — Monday upper, Tuesday lower, Wednesday mobility, Thursday lower accessory, Friday upper accessory — as structured recurring posts. Clients see their week at a glance. You write the block once and it surfaces at the right cadence without a separate scheduling tool or a pinned Whatsapp message that gets buried.

Video library with native player

Upload MP4 demo videos directly to Cloudflare R2 storage or embed YouTube links — organised by movement category (squat, hinge, push, pull, carry). The video library renders in your blog feed with native playback controls. Gate technique library access behind your paid membership tier or keep it free to demonstrate coaching quality to prospective clients.

Paid program PDFs and video courses via BYOK Stripe

Connect your own Stripe account — VeloCMS takes 0% platform fee. Sell a twelve-week beginner strength program as a PDF bundle, gate a video course behind a one-time purchase, or run a recurring monthly membership for premium programming content. Your Stripe account, your clients, your revenue — minus only Stripe's standard 2.9% + 30¢ processing fee.

Before/after photo galleries with member-gated access

Publish client transformation galleries as member-gated content. Prospective clients who haven't signed up yet see the preview framing; paying members see the full gallery. Before/after evidence is the highest-converting content in fitness — give it a permanent, searchable home on your own domain instead of a buried Instagram highlight.

Engineering theme — structured for dense technical writing

The Engineering preset ships free on every plan. Clean monospaced numerics, structured table layouts, a high-contrast dark surface, and minimal chrome designed for content that looks like data — sets, reps, RPE, percentages, weekly volume loads. One click to apply in Admin → Themes. Your programming looks as systematic as it is.

Features fitness coaches actually need

Recurring programming blocks, native video player, BYOK Stripe programs, before/after galleries, Engineering theme, and a weekly workout newsletter — all in one place without a plugin in sight.

Recurring weekly programming blocks

Tag posts with block: and add schedule metadata (training day, session type, target population). The schedule view aggregates them automatically into a rolling 7-day training calendar your clients can bookmark. The same post also appears in your main blog feed — new visitors see your programming philosophy, active clients see their week.

Video library with native and embedded player

The editor's Video block accepts MP4 uploads direct to Cloudflare R2 or YouTube embed URLs. Files render with a native player that respects your Engineering theme aesthetic — no SoundCloud, no Vimeo branding, no third-party player injecting its own controls. Free posts play for everyone; gated posts prompt membership sign-up before playback.

Membership-gated programs and course content

The paywall works at the post level — mark any post, video, or PDF download as members-only. Clients sign up via your Stripe checkout (your Stripe account, not ours), gain immediate access, and manage their subscription through a member portal on your subdomain. You receive 100% of the program revenue minus Stripe's standard processing fee.

Before/after galleries — member-gated and SEO-aware

Create a gallery post, upload before/after images to Cloudflare R2, set visibility to members-only, and publish. The post carries Image JSON-LD so Google can index the context even when the images are gated. Prospective clients searching 'online strength coach results' find your gallery page in search results and land on a signup prompt — not a buried Instagram highlight.

Engineering theme — monospace numerics, table layouts

The Engineering CSS preset uses a monospaced numeric stack for sets, reps, and percentages so 3×5@80% reads like structured data rather than body text. Table blocks render with tight row borders and alternating row shading — perfect for a 12-week periodisation overview or a max-effort percentage chart. Swap to any other theme instantly if you want a warmer aesthetic for a different audience.

Weekly workout newsletter — workout of the week

Write a workout-of-the-week newsletter in the same TipTap editor you use for posts. Send to your full subscriber list or filter by membership tier (free readers vs paid program members). Clients who opted in receive your programming update in their inbox before Monday morning — not whenever Instagram's algorithm decides to surface your Reel.

From TrainerCentral or Whatsapp to your own coaching platform in five steps

No developer, no $79/mo fitness SaaS, no algorithm deciding which clients see your programming. Get your schedule, video library, and paid programs live in an afternoon.

0115 min

Export your TrainerCentral or Trainerize client list

From TrainerCentral, navigate to Clients → Export and download the CSV. From Trainerize, go to Dashboard → Clients → Export. The CSV should include at minimum name and email — subscription tier mapping can be done after import. If your clients are only on Whatsapp, you're starting fresh with VeloCMS's organic member sign-up flow (recommended: start with a free program that requires an email to access).

025 min

Upload your CSV and import your client audience

In Admin → Members → Import, drag your CSV and map the column headings (name, email, subscription tier). Imported members receive a magic-link welcome email automatically from your configured sender address. They click once to activate — no password required. Clients who were on TrainerCentral or Trainerize are used to logging in; magic-link is actually simpler.

0320 min

Set up your weekly programming schedule as structured posts

Create a post for each training session type — Upper A, Lower A, Upper B, Lower B, Mobility, Conditioning. Tag each with block: and add the schedule metadata (training day, session type, rep scheme, RPE target). The programming view aggregates them into a rolling weekly calendar your clients can bookmark. Apply the Engineering theme so your sets/reps/RPE tables render with the structured look they deserve.

0410 min

Upload your first technique video and PDF program

In the editor, add a Video block and drag in your MP4 demo file — or paste a YouTube URL for embedded playback. Set visibility to free or members-only. For PDF programs, add a File block and upload the PDF to Cloudflare R2. Mark it members-only. Hit publish. Both appear immediately on your site — no third-party video host, no Dropbox link sharing.

055 min

Activate Engineering theme and open paid program signups via your Stripe account

In Admin → Themes, click Engineering → Apply. In Admin → Settings → Membership, connect your Stripe account via the OAuth flow. Set your monthly membership price or create a one-time program product. Your site is now live on your velocms.org subdomain with a structured coaching platform that looks as professional as your programming. Point a custom domain CNAME when you're ready to go fully independent.

VeloCMS vs TrainerCentral vs Trainerize vs Instagram+Whatsapp

FeatureVeloCMSTrainerCentralTrainerizeInstagram+WA
Custom domainYesYesYesNo
Programming scheduleYesYesYesManual posts
Video library with native playerYesExercise library onlyExercise library onlyReels / IGTV only
Paid program PDFs / video coursesYesWith platform cutWith platform cutNo
BYOK Stripe — 0% platform feeYesNoNoN/A
Time to first post (minutes)560+45+2
Cost per year ($)0 – 348948+420+Free — but rented
Start today — no credit card

Free for schedules and video library. Pro when you need a custom domain and paid programs.

Free

$0

Forever

  • Up to 100 posts
  • Weekly programming schedule
  • Video library (mp4 + YouTube)
  • Engineering theme
  • Newsletter to subscribers
  • velocms.org subdomain
Get started free
Most popular

Pro

$9

per month

  • 1,000 posts
  • Custom domain + SSL
  • BYOK Stripe paid programs (0% fee)
  • Before/after member-gated galleries
  • AI writing assistant
  • Workout-of-the-week newsletters
Start Pro free

Business

$29

per month

  • Unlimited posts
  • Multi-coach gym team blog
  • White-label branding
  • Priority support
  • Team collaboration
  • Advanced member analytics
Start Business free

Questions fitness coaches ask before switching

Honest answers — no TrainerCentral upsell.

Can I publish recurring weekly programming schedules?

Yes. Tag any post with block: and add schedule metadata fields (training day, session type, rep scheme) in the editor's post settings panel. VeloCMS aggregates all block-tagged posts into a rolling 7-day programming calendar that your clients can bookmark. The same post also appears in your main blog feed — new visitors see your programming philosophy and active clients see their current week. You write the block once and it surfaces at the right cadence without a separate scheduling tool or a pinned Whatsapp message.

How do paid program PDFs and video courses work with BYOK Stripe?

In Admin → Settings → Membership, connect your Stripe account via a one-click OAuth flow. Once connected, you can mark any post, PDF file, or video series as members-only — either behind a recurring subscription or a one-time purchase product. When a client lands on gated content, they see a sign-up prompt that routes them to your Stripe checkout, returns them to your site on success, and grants access automatically. VeloCMS takes 0% platform fee. Stripe charges its standard 2.9% + 30¢ per transaction. The money flows directly to your Stripe account — VeloCMS never sees your revenue.

Why is Engineering the recommended theme for fitness coaches?

Fitness programming is structured data — sets, reps, RPE percentages, volume loads, percentage of one-rep max. The Engineering theme uses a monospaced numeric stack so 3×5@80% renders like a table entry rather than body text. Table blocks get tight row borders and alternating shading — perfect for a 12-week periodisation overview. The high-contrast dark surface and minimal chrome keep the focus on the content, not the UI. Coaches who publish programming explainers, technique breakdowns, and methodology essays find that Engineering communicates 'I know exactly what I'm doing' in a way that warmer lifestyle themes don't. It ships free on every plan and can be swapped in one click.

Can I migrate from TrainerCentral or Trainerize?

Yes, with some caveats. For client lists: both platforms export a CSV with name and email. Import that CSV via Admin → Members → Import — clients receive a magic-link welcome email and activate with one click, no password needed. For programming content: TrainerCentral and Trainerize store workout templates, exercise libraries, and check-in data in proprietary formats that don't export to Markdown or HTML. Your programming content starts fresh in VeloCMS, which is usually an improvement because you're now writing post-format programming with long-form explanation rather than just sets-and-reps tables in a client portal. For videos: re-upload to Cloudflare R2 via VeloCMS's file uploader.

How are client before/after photos handled with privacy?

Before/after photos are published as gallery posts marked members-only. Only clients with an active membership (paid via your Stripe account) can view the full gallery. Non-members see a preview card with a membership sign-up prompt. Photos are stored on Cloudflare R2 with no public URL guessable by pattern — each file URL is a unique opaque hash. You should still get explicit written consent from every client before publishing their images. VeloCMS's membership gate is a technical safeguard, not a substitute for consent. A 'client consent' tag on the post helps you track which galleries have documented approval.

Does VeloCMS take a cut of my paid programs?

No. VeloCMS charges 0% on membership revenue and paid program sales. You connect your own Stripe account in Admin → Settings → Membership, and Stripe charges its standard 2.9% + 30¢ per transaction directly. VeloCMS never sees your Stripe revenue — the money flows from the client's card to your Stripe account. Compare that to TrainerCentral's transaction fees on top of the $79/mo subscription, or Trainerize's percentage cut on any in-app purchases, and the savings for a coach running $2,000/mo in program sales are substantial — roughly $600–$900/year back in your pocket.

Can I publish weekly workout-of-the-week newsletter automatically?

Yes. Write a newsletter in the same TipTap editor you use for posts. Send to your full subscriber list or filter by membership tier — free subscribers get the public WOTW teaser, paid members get the full programming breakdown with sets, reps, and coaching cues. Newsletters go out via Resend, which has 99.9% delivery reliability compared to Instagram's algorithm-dependent reach. Set a recurring cadence reminder in your own workflow and send each Monday morning — clients who opted in see it in their inbox before they start their week, not whenever Instagram decides to surface your Reel.

Is VeloCMS suitable for solo coaches versus gym teams?

Both, though VeloCMS is designed first for solo coaches and small independent practices where the coach is the brand. On the Free and Pro plans, it's a single-author publishing platform with programming schedules, video hosting, and paid memberships. On the Business plan, you can add team members — a second coach, a nutrition collaborator, an admin assistant — and run a multi-author blog representing multiple coaches under one domain. Large gym operations with 20+ coaches, complex booking systems, and in-person payment terminals are better served by dedicated gym management software. A solo online coach with fifty clients, a twelve-week program product, and a weekly newsletter audience is exactly the use case VeloCMS was built around.

Your coaching deserves a system. Start free with Engineering.

Programming schedules, video library, paid programs, and the structured aesthetic your methodology deserves — all on a platform where you own the client list, not Instagram or Whatsapp.

Start free with Engineering