JoyVelo

Internal · Decision aid

PRODUCT REQUIREMENTS

Comprehensive PRD covering all JoyVelo modules — JoyOne, JoyTravel, JoyFitting, Training, JoyAnalyze, Reviews, News, WorldTour. Decision space and next-step options.

Generated 2026-06-22. This page is a summary of the full document. For the unabridged version with file map and open questions, see the GitHub repo or download the markdown.

0. Module map

Quick view of every module, where it lives, and current state.

Marketing site & content

Live, 47 reviews + ~12 news + 18 WorldTour teams
  • · /
  • · /review
  • · /review/[slug]
  • · /news
  • · /news/[slug]
  • · /worldtour-race
  • · /worldtour-race/team/[id]
  • · /worldtour-race/race/[id]

JoyOne

Live with localStorage; cloud sync pending SQL migration
  • · /joyone
  • · /joyone/connect
  • · /login
  • · /account

JoyTravel

GPX import + library + 2D detail + builder v1 live; map drawing pending
  • · /joytravel
  • · /joytravel/routes
  • · /joytravel/routes/[id]
  • · /joytravel/builder

JoyFitting

Calculator live; selection guides editorial only
  • · /joyfitting
  • · /joyfitting/calculator
  • · /joyfitting/frame-selection
  • · /joyfitting/handlebar-selection
  • · /joyfitting/saddle-selection
  • · /joyfitting/handlebar-adjustment
  • · /joyfitting/saddle-adjustment
  • · /joyfitting/ai

Training

Builder + 7 science articles live
  • · /training
  • · /training/builder
  • · /training/altitude-training
  • · /training/carb-periodization
  • · /training/cold-weather
  • · /training/heat-acclimation
  • · /training/mental-training
  • · /training/sleep-recovery

JoyAnalyze

Marketing only; upload placeholder; DTW analyzer pending
  • · /joyanalyze
  • · /joyanalyze/power-meter-comparison
  • · /joyanalyze/upload

8. Decision space — what to build next

Given everything above, here are the highest-impact options ranked by ROI. Pick one to focus on for the next sprint.

A

Ship cloud sync end-to-end

Recommended

Unblocks everything. Once users have cloud sync, they are sticky.

Effort

1-2 weeks (mostly your SQL migration + E2E testing)

Money

$0 (Supabase free tier covers up to 50K MAU)

B

Implement 2-3 OAuth integrations

Reduces manual export friction — biggest usability complaint.

Effort

1 week per vendor (dev account + OAuth + sync)

Money

$0 vendor cost, but 2-4 weeks vendor approval per platform

C

JoyAnalyze real upload + DTW

Differentiator. Power meter comparison is a popular topic.

Effort

2-3 weeks (DTW algorithm + UI + testing)

Money

$0 (client-side compute; Supabase for storage)

D

Per-review OG image generator

Share previews dramatically increase CTR on X/Reddit/cycling forums.

Effort

1-2 days

Money

$0 (Vercel edge function)

E

JoyTravel map drawing

Second-most-clicked button on JoyTravel page, but builder is GPX-only.

Effort

1 week (Leaflet + OSM + OSRM)

Money

$0 (OSM tiles free)

F

Newsletter + email capture

No email list yet = no way to re-engage non-signups.

Effort

2-3 days

Money

Resend $20/mo or Mailchimp $13/mo

Module highlights

JoyOne — 5-tab dashboard

The most important module. 5 tabs (Overview / Activities / Fitness / PDC / Profile), integrations grid with honest 3-state UX (oauth-ready / upload-only / coming-soon), pure-browser FIT parser (replaces broken @garmin/fitsdk SDK), rule-based AI Coach summary.

JoyTravel — GPX library

Library, 2D detail page (SVG polyline + elevation chart + POI editor), and GPX-only builder v1. Biggest gap: no map drawing yet — biggest planned improvement.

JoyFitting — calculator + guides

6-step wizard calculator live with cloud sync. Selection tools and adjustment guides are editorial-only. AI fitting is a marketing stub pending roadmap.

Training — workout builder + science

Builder with zwo/erg/mrc export, 7 deep-dive science articles (altitude, carbs, heat, cold, mental, sleep).

JoyAnalyze — marketing-only

Power-meter / radar / HRM comparison framing, but the actual upload + DTW analyzer is 2-3 weeks of engineering we have not committed to yet.

Cross-cutting

  • · Auth: Supabase magic link + Google OAuth. Resend upgrade for @joyvelo.com sender — $20/mo.
  • · SEO: 31-URL sitemap, robots.txt, default OG image, OG image per page pending.
  • · Perf: homepage 3.6× faster (3.1s → 0.87s) via Suspense streaming + 5s Sanity timeout.
  • · Notifications: toast + ConfirmDialog live; email digest pending.

Open questions for you

  1. Cloud sync priority: willing to spend a few hours running SQL migrations this week?
  2. Resend upgrade: $20/mo worth it for @joyvelo.com sender, or keep Supabase default SMTP?
  3. JoyAnalyze priority: meaningful differentiator but 2-3 weeks of work — worth doing now or after JoyOne is sticky?
  4. JoyTravel map drawing vs JoyAnalyze — pick based on traffic (check Vercel analytics).
  5. Newsletter: when to start? 100 subscribers → useful for feedback on new reviews.
See the JoyOne cloud sync walkthroughBrowse the 2026 WorldTour hub