Retro 2D Hybrid Fitness Engine for PC & Mobile (v1.104)
Ghost Runner is a retro 80s-inspired cyberpunk 2D side-scrolling fitness application. It combines real-time GPS telemetry tracking with Kalman filter smoothing, multi-format FIT/GPX/XML parsing, cloud ghost sharing, dynamic Phaser 2D pixel-art graphics, multi-track Tone.js synthwave audio, AI pacer bots, Cyber Garage cosmetics, structured interval workouts, WebRTC P2P multiplayer racing, and robotic voice coaching.
- πββοΈ Structured Interval Workouts: Workout Plan builder with step types (Warmup, Work, Rest, Cooldown, Repeats) and preset plans (5K Tempo Crusher, VO2 Max Pyramids, Endurance Long Run).
- π ACWR Adaptive Fatigue Target Pacing: 7-day acute to 28-day chronic workload ratio analysis for intelligent pace adaptation and overreaching injury prevention.
- ποΈ Live WebRTC P2P Ghost Racing & Slipstreaming: Low-latency coordinate exchange with 2-4m aerodynamic drafting and cadence boost mechanics.
- π§ Spatial 3D Audio & Multilingual Announcers: HRTF 3D ghost panning with Japanese Arcade, Cyber AI, and 80s Track Coach voice soundboards.
- π‘ Volumetric Neon Lighting & Dynamic Weather v2: Real-time shader light rays, dynamic ground shadows, volumetric fog layers, and thunder lightning flashes.
- π± AMOLED Ambient Display & Android Widget: 15 FPS pure-black battery saving mode and native Android Quick-Start home screen widget.
- π Full Internationalization (i18n): English (EN), Spanish (ES), Japanese (JA), German (DE), and French (FR).
- β‘ Wasm SIMD Parallel Interpolation: 4-lane parallel vector math acceleration for multi-ghost race tracks.
- Node.js (v20+ recommended, Node 22 supported)
- Rust & Cargo (for Tauri desktop build)
- Android Studio & JDK 21 (for Android
.apkcompilation)
# Clone the repository
git clone https://github.com/valliente/ghost-runner.git
cd ghost-runner
# Install dependencies
npm install
# Start Vite local dev server
npm run dev
# Run automated Vitest test suite (30 tests across 13 suites)
npm test# 1. Build web distribution
npm run build
# 2. Build production Windows installer (.exe / .msi)
npx tauri buildOutput binaries will be saved in src-tauri/target/release/bundle/nsis/GhostRunner-v1.104-Setup.exe.
# 1. Build web distribution & sync native assets
npm run build
npx cap sync android
# 2. Compile release APK using Gradle wrapper
cd android
./gradlew assembleRelease
# (On Windows PowerShell: .\gradlew.bat assembleRelease)Output APK is located at android/app/build/outputs/apk/release/app-release-unsigned.apk.
- Supported Sensors: Heart rate monitors (Polar H10, Garmin HRM-Pro, Wahoo TICKR) and RSC Foot Pods (Stryd, Zwift RunPod, Garmin Foot Pod).
- Setup: In Ghost Runner, click CONNECT BLE HR or pair in Settings.
To ensure the GPS tracker and Foreground Service never get killed by Android Doze Mode:
- Open Android Settings > Apps > Ghost Runner.
- Go to Battery > Battery Usage.
- Set background usage to Unrestricted (Don't optimize).
- Verify Location Permission is set to Allow all the time (including Precise Location).
MIT License. Built for retro cyberpunk fitness enthusiasts!