Now onboarding Cohort 2 opens this fall — join the waitlist →
For gyms & programming companies

Program for hundreds. In your own app.

You've outgrown Google Sheets, TrainHeroic exports, and DM'ing PDFs. DVML gives you a single system for multi-track programming, subscriptions, a community feed — and a native iOS + Android app that lives in the App Store under your name.

Your app, not ours

Native iOS and Android — under your brand, in the stores.

The single biggest thing that separates a "programming subscription" from a real coaching business is whether your athletes tap your icon on their home screen. On Team and Enterprise plans, that's what they do.

EM
EmomCo
Fitness
M
The Method
Training
CF
Coach Forge
Fitness
R
Rise Athletics
Sports

We ship it

App Store & Play Store submission, signing, and release management — handled by us. Your team doesn't touch Xcode or Android Studio.

You brand it

Icon, splash, colors, push copy, onboarding, and marketing screenshots — all yours. Athletes see zero DVML branding.

We maintain it

OS updates, breaking-API fixes, and store-policy changes handled quietly in the background — same as any modern SaaS.

Programming

Multi-track, multi-level, actually scalable.

Publish a competitive track and a beginner track from the same workout, with equipment variants baked in. Athletes get the version that fits them — you don't rewrite it five times.

  • A week of programming in an hour, not an afternoon
  • Multiple tracks per program (competitive, general, beginner)
  • Level scaling from Foundations through Advanced under one blob
  • Equipment variants (bodyweight, minimal, full gym)
  • Cycle-aware programming: strength blocks, deloads, tests
  • Bulk publish weeks in advance — or unpublish in one click
Programming editor
Community

A feed that turns subscribers into a team.

Every athlete has PRs, benchmarks, a private thread with your staff, and a shared feed for the community. @mentions, images, reactions — the stuff that turns "I bought a program" into "I'm part of a gym."

  • Every conversation in one place — no more Instagram DMs, no more group texts, no lost emails
  • Real-time forum with @mentions and unread badges
  • Staff-only channels, athlete-only channels, or open channels
  • Every PR and benchmark auto-tracked — zero manual entry
  • Optional leaderboards per workout, level, and benchmark — off by default, on with a click
  • AI surfaces every similar workout each athlete has done — "have I done this before?" answered without hunting
Community feed
Monetization

Sell every shape of coaching you offer.

Subscription tiers, one-time programs, bundles, and individualized coaching — all through your own Stripe account. No middleman on your customer relationship.

  • Subscription tiers with per-tier program bundles
  • One-time seasonal programs with cohort start dates
  • Individualized coaching billed monthly
  • Coupons, trials, and cancel-anytime flows built in
  • Refunds and disputes handled through your Stripe dashboard
Billing dashboard
AI, done right

An assistant that programs the way you do.

Generic AI writes generic programming. DVML's assistant is trained on your historical programs — periodization, volume choices, movement selection — so its suggestions match your voice. And it's aware of every athlete's history, so adaptations respect who's actually going to do the work.

  • Trained on your library. Every past cycle you've published is part of its context. New suggestions extrapolate from you, not from the internet.
  • Athlete-aware adaptations. No barbell? Rehabbing a shoulder? Traveling with just dumbbells? Get a swap that preserves stimulus and respects context.
  • Bulk track ops. "Build a Foundations scale of this competitive cycle" — one command, minutes instead of days.
  • Human in the loop. Every suggestion is a draft. You accept, edit, or reject with one tap.

Ready to see it with your programming loaded in?

Bring your existing workouts. We'll walk you through modeling one week of programming, one subscription tier, and one athlete flow — live, in your browser.