JoyOne
CLOUD SYNC IN 6 STEPS
A two-minute walkthrough: how JoyOne keeps your rides, fitness, and AI Coach summary in sync across every device you sign in on.
Built for serious cyclists who want one source of truth — not five disconnected apps.
- 1
Sign in with Google
Head to joyvelo.com/joyone. Click "Sign in with Google" in the top-right. One OAuth flow — done.
Outcome: Your avatar appears in the header. A green cloud icon next to "JoyOne" confirms sync is armed.
- 2
Upload a ride
On the dashboard, click "Upload" (top right) and pick a .fit or .gpx file from your trainer, Strava, or Garmin.
Outcome: The activity parses in < 1 second. Distance, power, TSS, fitness (CTL), fatigue (ATL), form (TSB) populate immediately.
- 3
Read the AI Coach
Switch to the "AI Coach" tab. You get a plain-English summary of last week — what went well, what to watch, when to rest.
Outcome: Examples: "Race-ready in 9 days", "Overtraining risk — TSB -28", "Big jump in volume — add recovery day".
- 4
Set your FTP + HR zones
Click your avatar → "Account". Enter your FTP (watts) and max HR. We auto-derive 7 power zones and 5 HR zones.
Outcome: Workouts, the AI Coach, and TSS calculations now use your real zones.
- 5
Open another device
On your phone or a different browser, go to joyvelo.com/joyone. Sign in with the same Google account.
Outcome: Your activities, FTP, zones, and saved routes appear within 2 seconds. Cloud sync works in both directions.
- 6
Try the integrations
In "Connect" (joyvelo.com/joyone/connect), paste a Strava route URL or a Komoot tour link — JoyOne imports the GPX in one click.
Outcome: Routes flow into your JoyTravel library. Use them in workouts, share them with friends, or open them in your head unit.
For video
90-SECOND DEMO SCRIPT
Total runtime: ~90 seconds. Cut between B-roll (screen capture) and voice-over. Music: lo-fi ambient, -18dB under VO.
00:00–00:05
Shot: Tight shot: laptop open, JoyVelo home page loading.
VO: JoyVelo is the home base for serious cyclists — reviews, training, and now your data.
00:05–00:15
Shot: Click Sign in with Google → OAuth flow → avatar appears.
VO: One tap to sign in with Google. That unlocks JoyOne — your fitness, AI Coach, and routes in the cloud.
00:15–00:35
Shot: Drag a .fit file onto JoyOne dashboard. Numbers populate.
VO: Drop a ride. JoyOne reads your power, heart rate, cadence — and computes fitness, fatigue, and form in under a second.
00:35–00:55
Shot: Switch to AI Coach tab. Narrate a few bullets.
VO: The AI Coach reads your last 28 days and tells you what matters — overtraining risk, race readiness, big jumps in volume.
00:55–01:10
Shot: Pull out phone. JoyOne dashboard appears with same data.
VO: Open it on your phone. Same data. Two seconds later. No manual sync, no "import" button.
01:10–01:30
Shot: JoyTravel routes tab → paste a Strava URL → route saved.
VO: And the same account powers JoyTravel — paste a Strava URL, get a saved route with elevation profile, ready for your head unit.
End card
JoyOne — your cycling data, in sync.
Free during public beta. joyvelo.com/joyone
COMMON QUESTIONS
Where does my data live?
Postgres in Supabase (us-east-1), encrypted at rest. RLS ensures only you can read your own rows. Your password never leaves Google.
Can I export everything?
Yes. Account → Export data → ZIP with all your .fit / .gpx files and a JSON dump. Deletion is also one click.
What happens if I sign out?
Data stays cached in your browser localStorage so the app works offline. New uploads queue and re-sync the next time you sign in.
Do you sell my data?
Never. JoyVelo is a paid SaaS for cyclists, not an ad business. Privacy policy: joyvelo.com/privacy.