Opening WattRoom…
Discord for indoor cycling · a Zwift alternative
Ride your own roads in a 3D world with your crew, or one structured workout with every trainer on its own rider’s FTP. Voice is built in, so you talk the whole way.
Free · open source · runs in Chrome or Edge · desktop app
Ride a road together
Import a route and ride it in a 3D world: the climbs, the hairpins and every crewmate where their own watts have taken them. The numbers sit at the edges, so the road stays in view.

Workouts on the road
Ride a workout on one of your roads and its next three blocks are painted on the asphalt, each with its name and your target where it starts. A sprint gets a banner across the road from 1 km out.

Or on the graph
Every block on the interval graph is labelled with its watts and length, and the panel above holds your target. Fill the shelf from the library, the editor, or the .zwo and .erg files you already have.

Your ghost
Start a road of yours from the beginning and the rider you were last time rides beside you, a see-through figure in your own kit. The bike computer says the gap in words: “4 s behind”.

Gears and your phone
On a road, Easier and Harder shift virtual gears: tap them, press − and +, or ride a Zwift Cog. In an ERG workout the same controls trim your target. Open WattRoom on your phone while the desk rides and the phone becomes your remote, and one tap moves your voice to it.

Same workout, your watts
Friends never ride at the same watts. WattRoom never asks them to: a workout is written in percentages of FTP, and every trainer holds its own rider’s share. Drag your FTP and watch.
Tuesday threshold · one workout, four riders
Block 3 of 9 · 5 min at 100 % FTP · Threshold
Sessions with voice
Your crew gets chat channels and voice channels, like a Discord server for your pain cave. Send its six-character code and everyone is in.
Chrome or Edge talks to your smart trainer over Bluetooth, or use the desktop app. Voice is one tap, and the crew’s jukebox plays in sync and ducks when someone speaks.
Anyone in the voice channel starts one: a free ride on a road, a workout, a race or a game. Everyone rides it at once and talks the whole way.
Races and games
Pick a road in the session picker, tap Race it, and choose Race, Last Light or Wheelrace: a race on W/kg, with results by category on the closing card. Or play one of seven games scaled to each rider’s FTP, so the smallest engine in the crew can win Backyard Ramp.


A klaxon, three seconds, then everything you have.
Intervals with sprints hidden in them. Every one scores.
Hit the number with the meter turned off.
Three-minute rounds that keep getting harder. Last one pedalling wins.
Backyard rules on the crew’s average. Nobody gets dropped alone.
A zone is called. Stay in it.
One rider on the front, everyone else recovering.
Try it
In a session, five of these land at random with a klaxon three seconds before each. Here is one.
Ten seconds. Everything you have.
Arm it, wait for the klaxon, then tap the pad as fast as you can — or press Space, or just hold it down. Your best five seconds count.
Compared
Zwift and MyWhoosh are worlds you share with everyone who rides them, and TrainerRoad is a coach. WattRoom is a place for your crew, on the roads you bring. Pick the one that fits: sometimes it is one of them.
| WattRoom | Zwift | TrainerRoad | MyWhoosh | |
|---|---|---|---|---|
| Price | Free | US$19.99 a month or US$199.99 a year | US$21.99 a month or US$209.99 a year, for every rider | Free |
| Runs on | Chrome or Edge on Windows, macOS and Android, or the desktop app. No trainer control on iPhone or iPad | Windows, macOS, iOS, Android and Apple TV apps | Windows, macOS, iOS and Android apps; group workouts on Windows and macOS | Windows, macOS, iOS and Android apps |
| One workout, together | Anyone in the voice channel starts any workout; every trainer holds its own rider’s FTP | Group workouts scale to each rider’s FTP; a private one goes through a Meetup, and club events offer preset workouts | Group workouts for up to 11 riders, each on their own FTP, with voice and video | Group rides and pacer-led group workouts in its virtual world |
| Talking while you ride | Voice and camera built in, one tap | Text chat; crews bring Discord for voice | Voice and video in group workouts | Text chat |
| Virtual world | Routes you import, ridden in 3D with your crew on them, or as their profile; a workout without a road rides on its interval graph | A 3D world with routes, drafting and racing | None: a workout chart | A 3D world with routes, races and prize events |
| Open source | Yes (AGPL), and self-hostable | No | No | No |
Voice and video are never recorded. Live numbers live and die with the session. Each ride saves privately, with a .fit file to download and one tap to Strava.
The whole thing is on GitHub under the AGPL. A club can run its own server with one Docker Compose stack.
The ride, the call and the crew’s soundtrack share one tab and one mixer, so a single headset hears all three.
To be held on target in ERG mode, yes: any trainer that speaks Bluetooth FTMS, which most current smart trainers do. You can join a crew’s channels and its voice without one, and a power meter or heart-rate strap pairs the same way.
From you. Import a GPX, TCX or FIT file of a route you know, and WattRoom reads its climbs and grades. The world is a switch on each device: set it to Full and the road is drawn in 3D, or leave it on Flat and the road rides as its profile.
Chrome or Edge on Windows, macOS and Android: they speak Web Bluetooth, which is how WattRoom reaches your trainer with nothing to install. Or use the desktop app. On Linux, Chrome still keeps Web Bluetooth behind a flag. Safari and Firefox cannot talk to a trainer at all, so on an iPhone or iPad you can join the crew and the call, but not ride.
Nothing. WattRoom is free and open source under the AGPL. There is no subscription, and nobody in your crew has to pay to ride with you.
That is the point. Every target is a percentage of each rider’s own FTP, so the 180 W rider and the 320 W rider do the same workout, side by side, and it hurts both of them the same. Game modes like Backyard Ramp eliminate on your own FTP too.
Voice and video are never recorded. Your ride data stays with your session, and rides are private by default. You can export or delete everything from your settings.
Take the ramp test: a warm-up, then +20 W a minute until you cannot hold it, about 12–18 minutes in all. Your FTP is 75 % of your best minute.
Start a crew, send its six-character code, and ride your first workout together tonight. Free, no install.
Built in the open. Star it on GitHub if you want more of it.