Open Source · Web Bluetooth · No Account Required

Row on scenic water routes
in your living room

VirtualRow connects your Concept2 PM5 to immersive 3D river environments via Bluetooth — Willowbrook demo rowing, rownative.icu route discovery, live metrics, and zero subscription fees.

Get Started on GitHub ⚡ Try Now See Features
VirtualRow 3D rowing scene — boat on a winding river with dynamic scenery

Professional rowing experience,
no gym required

From real Bluetooth hardware integration to rownative.icu route imports, VirtualRow focuses on route selection and live on-water activity.

Immersive 3D Visualization

Real-time Three.js rowing scene with animated boat, rower, and oars. Dynamic scenery fades when it would obscure your view.

Three.js React Three Fiber Dynamic camera

Scenic Water Routes

Row the bundled Willowbrook River (~5 km) or search rownative.icu and import real-world routes instantly.

Willowbrook demo rownative.icu import Leaflet minimap

Concept2 PM5 Integration

Connects directly to your PM5 monitor over Web Bluetooth. Live pace, distance, power, stroke rate, and calories — all without a bridge device.

Web Bluetooth API Real-time metrics PM5 Simulator

Heart Rate Monitoring

Pair any standard BLE heart rate monitor for live BPM plus average/max heart rate session stats.

BLE HRM Live chart Avg/Max stats

Live Performance Metrics

Compact metrics overlay, full performance graphs, and per-stroke data. Catch yourself going off-target with instant visual pacing feedback.

Mini metrics Performance chart Target zones

See the core flow

Pick your route, start rowing, and track your activity in real-time.

Up and rowing in 4 steps

1

Install & Run

Clone the repo, run npm install then npm run dev. Open Chrome at localhost:5173.

2

Connect Your PM5

Click Connect PM5, grant Bluetooth access, and pair your Concept2 monitor. Use the built-in simulator if your erg isn't nearby.

3

Pick a Route

Select Willowbrook River for a scenic 5 km demo, or search rownative.icu and import a real-world course.

4

Row!

Start rowing — your boat moves with your real output while the live activity screen tracks pace, distance, and heart rate.

Modern web technologies

No native apps, no plugins, no subscriptions — just open-source web standards running in a Chromium browser tab.

React 19 TypeScript Vite 7 Three.js React Three Fiber Web Bluetooth API Leaflet Vitest Playwright

Ready to row?

VirtualRow is MIT-licensed and actively developed. Fork it, contribute, or just enjoy the ride.

View on GitHub ⚡ Try Now Read the Docs