Keep your Vitruvian Trainer alive. This community-developed app restores full functionality to Vitruvian V-Form and Trainer+ machines after the company's closure. Don't let your investment become e-waste.
If Project Phoenix has helped keep your machine running, please consider supporting continued development:
Your support helps cover development, testing, and platform costs and keeps this community rescue project going.
| Platform | Install | Guide |
|---|---|---|
| Android | Play Store / Join Beta | Android Guide |
| iOS | TestFlight | iOS Guide |
Current release: v0.9.6 — profile-centered training controls, Exercise Insights, and workout reliability improvements. See the release notes for full details.
| Mode | Description |
|---|---|
| Just Lift | Quick start - grab handles and go, no setup required |
| Old School | Classic resistance training |
| Pump | High rep, muscle pump focus |
| TUT | Time Under Tension - controlled tempo |
| TUT Beast | Intensified TUT training |
| Eccentric-Only | Negative-focused reps |
| Echo | Progressive loading with warmup, working, and burnout phases |
- Live load, velocity, position, and power metrics
- Animated rep counter with visual phase feedback
- Auto-stop when rep targets reached
- Detailed set summaries with concentric/eccentric force breakdowns
- RPE (Rate of Perceived Exertion) logging
- Screen stays on during workouts
- 200+ exercises organized by muscle group
- Build custom routines with superset support
- Drag-and-drop exercise ordering
- Visual tree connectors for supersets
- Per-exercise weight, reps, and mode configuration
- Create multi-week training programs
- Two-panel editor with drag-and-drop routine assignment
- Per-day intensity, volume, and deload modifiers
- Automatic progression tracking
- Day strip navigation for quick access
- Automatic personal record detection with velocity-estimated 1RM, percent-of-1RM scaling, badges, and backfill
- Complete workout history with expandable stats; exercise-history quick view (merged after v0.9.6; release pending)
- Exercise picker filter for previously completed movements (merged after v0.9.6; release pending)
- Muscle balance radar chart, workout consistency tracking, volume/intensity comparisons, and mode distribution
- Dedicated Profile tab for switching, creating, and managing lifters
- Per-profile body weight, Equipment Rack, workout behavior, audio, LED, VBT, and safety preferences
- Exercise Insights for profile-specific PRs, estimated 1RM, recent sessions, volume trends, and full history
- Equipment Rack support for external load, counterweight, and display-only accessories
- Next-set recommendations, session body-weight prompts, and temporary Active Recovery / Heavy Deload routine starts
- TUT and TUT Beast in Just Lift; set-type labels during workouts
- Routine-set repetition (merged after v0.9.6; release pending)
- All data stored locally on your device
- No account required
- Works completely offline
- Backup & restore your data anytime
| Machine | Device Name | Max Resistance | Status |
|---|---|---|---|
| Vitruvian V-Form Trainer (VIT-200) | Vee_* |
200 kg (440 lbs) | ✅ Fully Supported |
| Vitruvian Trainer+ | VIT* |
220 kg (485 lbs) | ✅ Fully Supported |
For the latest features, fixes, and upgrade notes see the GitHub Releases page. Recent highlights:
- v0.9.6 — Profile tab, profile-scoped preferences, Exercise Insights, clearer set types, Health Connect mapping, and workout-flow reliability fixes.
- v0.9.5 — UI/BLE compatibility and training-cycle reliability.
- v0.9.4 — Optional age-gated VBT verbal feedback.
- v0.9.3 — Velocity-based 1RM, body-weight prompts, Equipment Rack improvements, and TUT/TUT Beast in Just Lift.
- v0.9.2 — Equipment Rack, health sync, next-set recommendations, and routine modifiers.
- Earlier releases are listed on the Releases page.
- JDK 17+
- Android Studio Hedgehog or newer
- Xcode 15+ (for iOS, macOS only)
- Kotlin 2.0+
./gradlew :androidApp:assembleDebug./gradlew :shared:assembleXCFramework
open iosApp/VitruvianPhoenix/VitruvianPhoenix.xcodeproj| Category | Technology |
|---|---|
| Language | Kotlin 2.0+ |
| UI | Compose Multiplatform |
| Architecture | MVVM + Clean Architecture |
| DI | Koin (Multiplatform) |
| BLE | Platform-specific (Nordic on Android, CoreBluetooth on iOS) |
| Database | SQLDelight (Multiplatform) |
| Async | Coroutines + Flow |
Project-Phoenix-MP/
├── shared/ # Kotlin Multiplatform shared code
│ └── src/
│ ├── commonMain/ # Cross-platform business logic
│ ├── androidMain/ # Android BLE & platform implementations
│ └── iosMain/ # iOS BLE & platform implementations
├── androidApp/ # Android application
├── iosApp/ # iOS application (Xcode project)
└── gradle/ # Gradle wrapper and version catalog
The source is released for personal use under the project's Proprietary License, but the maintainers welcome bug reports, feature requests, and pull requests via GitHub Issues and Pull Requests. Please open an issue before starting large changes so the approach can be coordinated.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Project Portal: phoenix-portal.com
- Support Development: Ko-fi
Proprietary License - All Rights Reserved. See LICENSE file for details.
- Original VitruvianProjectPhoenix Android app
- Web app developers for reverse-engineering the BLE protocol
- Vitruvian machine owners community for testing and feedback
- JetBrains for Kotlin Multiplatform
- All contributors and supporters
Project Phoenix is a community rescue project to keep Vitruvian Trainer machines functional. It is not affiliated with or endorsed by Vitruvian.