{
  "checked": "2026-10-01",
  "legend": {
    "yes": "Yes",
    "part": "Partly, or only on some plans",
    "no": "Not found in their public pages on the date checked"
  },
  "apps": [
    { "id": "coachtor", "name": "Coachtor", "page": "../../index.html", "status": "In testing" },
    { "id": "trainerize", "name": "Trainerize", "page": "../trainerize/" },
    { "id": "truecoach", "name": "TrueCoach", "page": "../truecoach/" },
    { "id": "everfit", "name": "Everfit", "page": "../everfit/" },
    { "id": "ptdistinction", "name": "PT Distinction", "page": "../pt-distinction/" },
    { "id": "mypthub", "name": "My PT Hub", "page": "../my-pt-hub/" }
  ],
  "price": {
    "label": "Price",
    "cells": {
      "coachtor": { "text": "Coach: $59/mo ($49 founding) after 60 days free (first 10; 30 after), up to 15 clients. Growth: $79/mo for up to 30. Gyms: book a pilot call", "src": "https://coachtor.com/#pricing" },
      "trainerize": { "text": "Free for 1 client. Paid from $23/mo, billed yearly", "src": "https://www.trainerize.com/pricing/" },
      "truecoach": { "text": "From $26.34/mo, billed yearly. 14-day trial", "src": "https://truecoach.co/pricing/" },
      "everfit": { "text": "Free up to 5 clients. Pro from $19/mo", "src": "https://everfit.io/pricing" },
      "ptdistinction": { "text": "From $19.90/mo for 3 clients. 1-month trial", "src": "https://www.ptdistinction.com/pricing" },
      "mypthub": { "text": "From $25/mo for 3 clients. 30-day trial", "src": "https://www.mypthub.net/pricing/" }
    }
  },
  "rows": [
    {
      "id": "appstore",
      "label": "In the App Store",
      "cells": {
        "coachtor": { "v": "no", "note": "Not yet. In testing on TestFlight.", "src": "https://coachtor.com/#new" },
        "trainerize": { "v": "yes", "src": "https://apps.apple.com/us/app/id516851502" },
        "truecoach": { "v": "yes", "src": "https://apps.apple.com/us/app/truecoach/id1439127794" },
        "everfit": { "v": "yes", "src": "https://apps.apple.com/us/app/everfit-for-coach/id1485827117" },
        "ptdistinction": { "v": "yes", "src": "https://apps.apple.com/us/app/pt-distinction/id973466681" },
        "mypthub": { "v": "yes", "src": "https://apps.apple.com/us/app/my-pt-hub/id1473947709" }
      }
    },
    {
      "id": "csvin",
      "label": "Bring a client list in from a file",
      "cells": {
        "coachtor": { "v": "yes", "note": "Names and emails, then an invite queue.", "src": "app/app/import/clients.tsx" },
        "trainerize": { "v": "yes", "src": "https://help.trainerize.com/hc/en-us/articles/360040719692-How-to-Bulk-Import-Client-Lists-into-Trainerize" },
        "truecoach": { "v": "yes", "src": "https://help.truecoach.co/en/articles/3835017-bulk-importing-clients" },
        "everfit": { "v": "yes", "src": "https://help.everfit.io/en/articles/3620631-bulk-upload-clients-with-csv-file" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "no", "src": "https://www.mypthub.net/features/client-management-features/" }
      }
    },
    {
      "id": "pdfprog",
      "label": "Bring programs in from a PDF",
      "cells": {
        "coachtor": { "v": "yes", "note": "Whole programs, read into a draft you check.", "src": "app/app/import/programs.tsx" },
        "trainerize": { "v": "part", "note": "One workout per file, in the AI Workout Builder.", "src": "https://help.trainerize.com/hc/en-us/articles/45565151151508-Using-the-AI-Workout-Builder" },
        "truecoach": { "v": "no", "src": "https://truecoach.co/learning-resources/ai-workout-builder-for-personal-trainers/" },
        "everfit": { "v": "part", "note": "One workout per file, in the AI Workout Builder.", "src": "https://help.everfit.io/en/articles/10129993-generating-workouts-from-pdf" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "part", "note": "Workouts AI builds a workout from a PDF.", "src": "https://www.mypthub.net/ai-personal-training-app/" }
      }
    },
    {
      "id": "aireply",
      "label": "Check-in replies written for you to send",
      "cells": {
        "coachtor": { "v": "yes", "note": "Nothing sends until you tap send.", "src": "https://coachtor.com/#how" },
        "trainerize": { "v": "no", "src": "https://www.trainerize.com/pricing/" },
        "truecoach": { "v": "no", "src": "https://truecoach.co/pricing/" },
        "everfit": { "v": "part", "note": "AI smart responses on Pro.", "src": "https://everfit.io/pricing" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "yes", "note": "Check-Ins AI writes a reply in your tone.", "src": "https://www.mypthub.net/ai-personal-training-app/" }
      }
    },
    {
      "id": "consult",
      "label": "Consult recording written up for you",
      "cells": {
        "coachtor": { "v": "yes", "src": "https://coachtor.com/#how" },
        "trainerize": { "v": "no", "src": "https://www.trainerize.com/pricing/" },
        "truecoach": { "v": "no", "src": "https://truecoach.co/pricing/" },
        "everfit": { "v": "no", "src": "https://everfit.io/pricing" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "no", "src": "https://www.mypthub.net/ai-personal-training-app/" }
      }
    },
    {
      "id": "quiet",
      "label": "Flags the client who is going quiet",
      "cells": {
        "coachtor": { "v": "yes", "note": "GONE QUIET, top of your day.", "src": "https://coachtor.com/#how" },
        "trainerize": { "v": "no", "src": "https://www.trainerize.com/pricing/" },
        "truecoach": { "v": "no", "src": "https://truecoach.co/pricing/" },
        "everfit": { "v": "part", "note": "Client list sorts by last activity.", "src": "https://help.everfit.io/en/articles/3365958-client-list-filter-and-segment-clients" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "no", "src": "https://www.mypthub.net/features/automated-client-check-ins/" }
      }
    },
    {
      "id": "swap",
      "label": "Client can swap a lift mid-workout",
      "cells": {
        "coachtor": { "v": "yes", "src": "https://coachtor.com/" },
        "trainerize": { "v": "yes", "src": "https://help.trainerize.com/hc/en-us/articles/46226883603604-How-to-Substitute-Exercises-During-a-Workout" },
        "truecoach": { "v": "no", "src": "https://help.truecoach.co/en/articles/2403707-the-truecoach-client-experience" },
        "everfit": { "v": "yes", "note": "When the coach turns it on.", "src": "https://help.everfit.io/en/articles/8755701-replace-exercise-setting" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "no", "src": "https://www.mypthub.net/features/workout-features/" }
      }
    },
    {
      "id": "bests",
      "label": "Personal bests flagged",
      "cells": {
        "coachtor": { "v": "yes", "src": "https://coachtor.com/" },
        "trainerize": { "v": "part", "note": "Badges for workout milestones.", "src": "https://help.trainerize.com/hc/en-us/articles/360041662991-Motivate-Your-Clients-with-Milestone-Badges-for-Workouts-and-Achievements" },
        "truecoach": { "v": "part", "note": "Shows last results, no best flag found.", "src": "https://help.truecoach.co/en/articles/2403707-the-truecoach-client-experience" },
        "everfit": { "v": "yes", "src": "https://help.everfit.io/en/articles/3591889-client-app-you" },
        "ptdistinction": { "v": "yes", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "yes", "src": "https://www.mypthub.net/features/workout-features/" }
      }
    },
    {
      "id": "history",
      "label": "Clients can take their own history out",
      "cells": {
        "coachtor": { "v": "yes", "note": "As a PDF and a data file.", "src": "https://coachtor.com/#faq" },
        "trainerize": { "v": "no", "note": "Client file has contact details only.", "src": "https://help.trainerize.com/hc/en-us/articles/360057815412-How-to-export-client-lists-to-a-CSV-file" },
        "truecoach": { "v": "part", "note": "The coach can email workouts as a text file.", "src": "https://help.truecoach.co/en/articles/2653729-client-exporting-workouts" },
        "everfit": { "v": "no", "src": "https://assistantcoach.fit/blog/data-portability-fitness-coaching-software/" },
        "ptdistinction": { "v": "no", "src": "https://assistantcoach.fit/blog/data-portability-fitness-coaching-software/" },
        "mypthub": { "v": "no", "src": "https://assistantcoach.fit/blog/data-portability-fitness-coaching-software/" }
      }
    },
    {
      "id": "owner",
      "label": "Gym owner sees revenue per coach",
      "cells": {
        "coachtor": { "v": "yes", "src": "https://coachtor.com/#owners" },
        "trainerize": { "v": "part", "note": "Studio plan reports on coaches. Details not public.", "src": "https://www.trainerize.com/blog/trainerize-studio-plan/" },
        "truecoach": { "v": "no", "src": "https://truecoach.co/pricing/" },
        "everfit": { "v": "no", "src": "https://help.everfit.io/en/articles/3013102-team-basics" },
        "ptdistinction": { "v": "no", "src": "https://www.ptdistinction.com/features" },
        "mypthub": { "v": "no", "src": "https://www.mypthub.net/pricing/" }
      }
    }
  ]
}
