Internal Guide
Publish PT Pro
to the App Store
Step-by-step guide to wrapping the PT Pro web app in a native shell and publishing it to the Apple App Store and Google Play Store using Capacitor.
Estimated time: Apple App Store takes 1–3 days for review. Google Play is usually same-day. Set aside a full weekend for the initial setup.
1
Install Prerequisites
You'll need Node.js, Xcode (Mac only) and Android Studio.

Make sure you have these installed before starting:

⚠️ iOS builds require a Mac. If you're on Windows, you can use a cloud Mac service like MacStadium or Codemagic to build remotely.
2
Set Up the Capacitor Project
Capacitor wraps your HTML/JS web app in a native iOS/Android shell.

Create a new folder for the project and initialise it:

mkdir getptpro-app && cd getptpro-app
npm init -y
npm install @capacitor/core @capacitor/cli @capacitor/ios @capacitor/android
npx cap init "PT Pro" "app.getptpro.com" --web-dir=www

Create a www folder and copy your app files in:

mkdir www
# Copy pt-app.html → www/index.html
# Copy any other assets

Add the iOS and Android platforms:

npx cap add ios
npx cap add android
3
Configure capacitor.config.json
Tell Capacitor about your app.
{
  "appId": "app.getptpro.com",
  "appName": "PT Pro",
  "webDir": "www",
  "bundledWebRuntime": false,
  "server": {
    "url": "https://getptpro.com",
    "cleartext": false
  },
  "ios": {
    "contentInset": "automatic",
    "backgroundColor": "#0A0A0C",
    "statusBar": {
      "style": "DARK",
      "backgroundColor": "#0A0A0C"
    }
  },
  "android": {
    "backgroundColor": "#0A0A0C"
  }
}

Tip: Setting server.url to your live URL means the app always loads the latest version — no App Store update needed for content changes.

4
Sync & Open in Xcode / Android Studio
Build and test on simulator before submitting.
npx cap sync
npx cap open ios      # Opens Xcode
npx cap open android  # Opens Android Studio

In Xcode:

  1. Select your target device (iPhone 15 simulator to start)
  2. Press ▶ to build and run
  3. Test every screen — booking flow, login, role select

In Android Studio:

  1. Click the green ▶ Run button
  2. Choose an emulator (Pixel 7, Android 14)
  3. Test thoroughly
5
App Icons & Splash Screens
You need specific icon sizes for both platforms.

Create your icon as a 1024×1024 PNG (lime #D4FF47 background, black PT PRO text in Bebas Neue). Then use the Capacitor Assets tool to auto-generate all required sizes:

npm install @capacitor/assets
npx capacitor-assets generate --ios --android \
  --iconBackgroundColor "#0A0A0C" \
  --splashBackgroundColor "#0A0A0C"

Place your source files at:

6
Apple App Store Submission
Requires an Apple Developer account ($149 AUD/year).
  1. Sign up at developer.apple.com
  2. In Xcode → Signing & Capabilities → select your Team
  3. Set Bundle Identifier to app.getptpro.com
  4. Go to Product → Archive to create a release build
  5. Click "Distribute App" → App Store Connect → Upload
  6. Log in to App Store Connect
  7. Create a new app, fill in metadata (see Step 8)
  8. Submit for review — takes 1–3 business days
⚠️ Apple requires your app to have a privacy policy URL. Use https://getptpro.com/privacy.
7
Google Play Submission
Requires a Google Play Developer account ($35 USD one-time).
  1. Sign up at play.google.com/console
  2. In Android Studio → Build → Generate Signed Bundle/APK
  3. Create a keystore file (keep this safe — you can never change it)
  4. Build a release AAB (Android App Bundle)
  5. In Play Console → Create App → Upload the AAB
  6. Complete the store listing (see Step 8)
  7. Submit for review — usually same day
8
App Store Listing Copy
Use this exact copy for both App Store and Google Play.

App Name: PT Pro — Trainer & Client App

Subtitle (App Store only): Book · Log · Track · Grow

Category: Health & Fitness

Short Description (Google Play, 80 chars):
The all-in-one app for personal trainers and their clients.

Full Description:

PT Pro is the complete platform built for personal trainers who want to run a professional, organised fitness business — and for clients who want to book, track progress and stay connected with their trainer.

FOR PERSONAL TRAINERS
✅ Let clients book directly through your personalised booking page
✅ Log every workout — exercises, sets, reps, weight and personal bests
✅ Track client progress with body weight charts and strength records
✅ Message all clients from one inbox — no more juggling WhatsApp and Instagram
✅ Build training programs and assign them to clients
✅ Track your monthly revenue and hit your income targets

FOR CLIENTS
✅ Book sessions in 60 seconds — choose your goal, date and time
✅ See your own progress — weight trends, PBs and session history
✅ Message your PT directly
✅ Pay securely online — Apple Pay, Google Pay or card

Set up in 5 minutes. AUD pricing from $19/mo (Starter, up to 3 clients) or $29/mo (Pro, unlimited).

Keywords (App Store):
personal trainer, PT app, fitness tracker, workout log, client booking, gym tracker, personal best, fitness business, training app, coaching

Age Rating: 4+ (no restricted content)

Privacy Policy URL: https://getptpro.com/privacy

Support URL: https://getptpro.com or mailto:[email protected]

Marketing URL: https://getptpro.com

9
Screenshots Required
You need specific screenshot sizes. Use your app on simulator.

Apple App Store (minimum required):

Google Play:

Recommended screenshots to capture:

  1. Role select screen (PT vs Client)
  2. PT Home dashboard with today's sessions
  3. Workout log with PB badge
  4. Client booking flow — time selection
  5. Messages screen with chat open
  6. Progress charts screen

Take screenshots using Xcode simulator (File → Take Screenshot) or Android Studio (Camera icon in emulator).

10
Costs Summary
What it costs to be in both app stores.
ItemPlatformCost
Apple Developer ProgramiOS App Store$149 AUD / year
Google Play DeveloperAndroid Play Store$35 USD one-time
Capacitor (open source)BothFree
MacStadium (if no Mac)iOS only~$30 USD / month
Codemagic CI/CDBoth (optional)Free tier available

Total minimum cost to ship to both stores: ~$210 AUD (plus $149/year Apple renewal)

11
Ongoing Updates
How to push updates after launch.

Because PT Pro loads content from https://getptpro.com, most updates (new features, UI changes, content) don't require an App Store update — they go live instantly when you deploy to Vercel.

You only need to submit a new App Store build when you:

To push a native update:

npx cap sync          # Sync web changes
npx cap open ios      # Open Xcode
# Increment version in Xcode → General → Version
# Archive and upload to App Store Connect