The KICKR CORE 2 Hub has two ways to get ride data: a local bridge (software that connects the app to the trainer) for a physical smart trainer—an indoor cycling device that reports ride data and adjusts resistance—and a browser simulator.
I made the simulator available in the public demo so someone can explore the cockpit without owning the hardware.
The simulator is useful because one changing ride signal passes through the whole interface. Start Sim, choose a pattern such as Recovery, Intervals, or Climb, and the same synthetic (simulated rather than measured) data updates the numbers, the moving world, the skill system, and the ride review.
Shifting changes the ride Link to section: Shifting changes the ride
The cockpit shows power, cadence (pedaling rate), speed, distance, and accumulated work (energy spent pedaling) around a Three.js landscape. Three.js is the library that draws the 3D world in the browser. Pedaling animation follows cadence. The scene responds to the ride, while a short power average and a scrolling timeline make changes in effort visible.
Virtual gears are designed around a single-cog trainer setup, with one physical sprocket. The interface includes sequential, 2×12 (two front gears and twelve rear gears), and 1×12 (one front gear and twelve rear gears) presets; in the demo, W/S shifts gears from the keyboard.
Camera and lighting controls let me see the same ride from a different angle without changing the data underneath it.
The ride continues after the scene Link to section: The ride continues after the scene
The garage turns simulated effort into Strength, Endurance, Agility, and Climbing experience, with earned Drops, the game’s currency, for equipment.
The Stats panel keeps a ride history and shows time in power zones (ranges of effort) and a power-duration view (power sustained over different lengths of time) when there is enough data. This progression is game state, not a claim about real-world fitness.
Everything in the public simulator is synthetic. The live demo runs in a browser; controlling a Wahoo trainer requires the separate bridge on the trainer’s local network. The project page has the control modes, architecture, and current limitations.
