Immersive 3D Visualization
Real-time Three.js rowing scene with animated boat, rower, and oars. Dynamic scenery fades when it would obscure your view.
VirtualRow connects your Concept2 PM5 to immersive 3D river environments via Bluetooth — structured workouts, live metrics, and zero subscription fees.
From real Bluetooth hardware integration to structured interval workouts, VirtualRow delivers training-grade features directly in your browser.
Real-time Three.js rowing scene with animated boat, rower, and oars. Dynamic scenery fades when it would obscure your view.
Row the Willowbrook River (~5 km) or import your own GPX and GeoJSON routes. Progress syncs with your PM5 distance in real-time.
Connects directly to your PM5 monitor over Web Bluetooth. Live pace, distance, power, stroke rate, and calories — all without a bridge device.
Pyramid intervals, steady-state, and custom templates. Import plans directly from intervals.icu with real-time segment progress overlays.
Pair any standard BLE heart rate monitor for live BPM, zone tracking, HR charts, and average/max per session statistics.
Compact metrics overlay, full performance graphs, and per-stroke data. Catch yourself going off-target with instant visual pacing feedback.
From choosing your route to completing a structured interval set, every step of a VirtualRow session is designed around you.
Clone the repo, run npm install then npm run dev. Open Chrome at localhost:5173.
Click Connect PM5, grant Bluetooth access, and pair your Concept2 monitor. Use the built-in simulator if your erg isn't nearby.
Select Willowbrook River for a scenic 5 km row, or import any GPX track. The 3D world loads instantly.
Start rowing — your boat moves with your real output. Optional: load a structured workout from intervals.icu for guided training.
No native apps, no plugins, no subscriptions — just open-source web standards running in a Chromium browser tab.
VirtualRow is MIT-licensed and actively developed. Fork it, contribute, or just enjoy the ride.