GymWorlds
Ride a hilly road circuit on your Reebok bike, or run an 8-lane stadium track with your Zwift footpod.
Bike not connected
Reebok FR30 over Web Bluetooth. Reads speed, cadence, power; sets resistance from the road gradient.
Cap defaults to 12: the physical effect of high levels is unverified on this bike. Raise it only once you are happy. Keyboard [ ] shifts the flat level during a ride.
Footpod not connected
Standard Running Speed & Cadence service (0x1814). Clip the pod to your shoe, wake it by moving it, then connect.
Online
Leave the code blank to create a room and share the 4-letter code. Laps, distance and time of day come from whoever creates the room.
Race
No devices? The keyboard works too: hold W to pedal/run, Shift to attack. Serve with python3 -m http.server 8000 and open localhost:8000 in Chrome or Edge.