Make sure you have these installed before starting:
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
{
"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.
npx cap sync
npx cap open ios # Opens Xcode
npx cap open android # Opens Android Studio
In Xcode:
In Android Studio:
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:
assets/icon.png — 1024×1024, no rounded corners (Apple adds them)assets/splash.png — 2048×2048, centered logo on dark backgroundapp.getptpro.comhttps://getptpro.com/privacy.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:
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
Apple App Store (minimum required):
Google Play:
Recommended screenshots to capture:
Take screenshots using Xcode simulator (File → Take Screenshot) or Android Studio (Camera icon in emulator).
| Item | Platform | Cost |
|---|---|---|
| Apple Developer Program | iOS App Store | $149 AUD / year |
| Google Play Developer | Android Play Store | $35 USD one-time |
| Capacitor (open source) | Both | Free |
| MacStadium (if no Mac) | iOS only | ~$30 USD / month |
| Codemagic CI/CD | Both (optional) | Free tier available |
Total minimum cost to ship to both stores: ~$210 AUD (plus $149/year Apple renewal)
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