Measured on 2026/1/31 (pre-purchase fitting, used to choose frame geometry) · Client Yang Kai-Hong · not yet clipped in at the time. ※ A separate “adjustment fitting” was done on 2026/7/22 (cleat position + saddle height); that data is with the fitter and is not included in this report.
📏 Body Measurements (cm)
Metric
Item
Value
Metric
Item
Value
Height
Total body height
186.0
Inseam
Inseam
87.0
Trunk length
Trunk
69.5
Sternal notch
Sternal Notch
153.0
Arm length
Arm
71.0
Forearm length
Forearm
38.0
Thigh length
Thigh
65.0
Lower-leg length
Lower leg
59.0
Shoulder width
Shoulder
45.0
Sit bone width
Sit bone
14.5 (145mm)
🦵 Posture Assessment (checked results)
Item
Result
Arch
Medium arch (not flat-footed)
Standing leg shape
X-shaped legs
Leg length (femur / tibia)
Both neutral, no difference ✅
Hip mobility (sacral angle)
Greater than 45° (moderate, not restricted)
Hands-on-hoods riding position
⚠️ Restricted cervical spine mobility (thoracic spine / lumbar-hip / lower back all normal)
Pedaling leg alignment (inward tilt / outward splay)
⚠️ Both sides splay outward
Pedaling leg alignment (internal / external rotation)
Both sides neutral ✅
🚲 Cockpit Setup (measured before fitting)
Code
Definition
Value
A
BB to top center of saddle (Saddle Height)
76.0 cm
B
Saddle BRP to handlebar center (Saddle–Handlebar)
74.0 cm
C
Setback: horizontal distance from saddle BRP to the BB vertical
23.0 cm
D
Drop from saddle top to handlebar top (Drop)
4.0 cm
—
Crank length (Crank)
172.5 mm
W
Handlebar width c-c
44.0 cm
D
Handlebar drop, tops to drops (recommended)
12.0 ± 0.5 cm
R
Handlebar reach (recommended)
8.0 ± 0.5 cm
🔩 Recommended Frame Geometry (for choosing a bike)
Item
Recommended
Effective top tube length TT
57.5 ± 0.5 cm
Seat tube angle SA
73.0 ± 0.5 degrees
Head tube length HT
20.5 ± 1.0 cm (integrated routing = external routing +1.5)
Frame Reach
40.0 ± 1.0 cm (with a 12.0 cm stem)
Frame Stack
62.0 ± 1.0 cm (any shortfall can be made up with spacers)
✅ Fitter’s Three Recommendations vs Status
Recommendation
Status
Notes
Fitting used a 155 mm saddle
❓ To be confirmed
Sit bones 145mm → needs the 155mm size class. What width is the saddle currently on the HASA RSX? If it is the stock 143mm = too narrow, which is the prime suspect for the sit bone soreness after 2 hours of riding on 8/1.
Use medium-support insoles (more arch support, better lateral knee stability)
✅ Done and verified effective
After switching to arch insoles on 7/18, lasted a full 2 hours outdoors; on 8/1, 52km with zero foot discomfort. The report said so back in January.
Use long-axle pedals (improves pedal-stroke tracking angle)
🔴 Not done
Corresponds to the posture assessment of “both legs splay outward + X-shaped legs”. Long-axle pedals (or spacers) move the foot outward so the knees don’t have to cave in to compensate.
🧠 Coach’s Take
The 145mm sit bone width is the most valuable number in this report. The “mid-term best-value fix: measure sit bone width and change saddle” in the training notes was actually already measured back in January — jump straight to “buy a 155mm saddle”, no need to measure again.
X-shaped legs + both feet splaying outward + restricted cervical spine echo one another: a splayed-out leg shape on standard-axle pedals forces the feet inward, and over long rides both the outside of the knee and plantar pressure run high — consistent with the July history of sore foot soles.
Inseam 87cm, height 186cm: saddle height 76.0cm ≈ inseam × 0.874, within the standard range; no knee discomfort has appeared since the 7/22 fine-tuning either, so keep it as is.
Restricted cervical mobility = staying low and looking far ahead for long periods is uncomfortable. A drop D of only 4.0cm is right (conservative, upright); for a 14-16 hour event like Beigao 360 an aero position should not be pursued at all.
🗺 Beigao 360 Official Route
Source: RideWithGPS #52941021 (route/TBA-Beigao360-official-route.tcx / .fit; the .fit can be imported directly into the Garmin 850 for navigation). Total length 354.6 km · total climbing 892 m (2.5 m per km, almost completely flat) · highest point 88 m.
📍 Route Map
🏁 Checkpoints / Aid Stations
Station
Distance
Segment
Start Bali
0
—
① Hsinchu checkpoint / aid station
70.3
70 km
② Changhua checkpoint / aid station
190.2
120 km 🔴
③ Tainan checkpoint / aid station
286.9
97 km
Finish Kaohsiung Zuoying
354.6
68 km
The only climb: Miaoli km98-101, 1 km up at +4%, 1 km down at −4%. Light gear, spin up at cadence 85, no standing, stay under 155W.
The southern section follows the West Coast route, heading south all the way; the November northeast monsoon is mostly a tailwind, but be prepared for crosswinds on the coastal road.
A completely flat route = no penalty for weight; what counts is pacing discipline, holding Z2 for 16 hours.
⛰ Elevation Profile
Vertical lines = checkpoints. Apart from Miaoli, it is all small bumps from overpasses and approach ramps.
🥤 Fueling Plan (estimated at 21 km/h average, 265 kcal/hr, 0.6 L/hr)
Segment
Distance
Moving time
Eat
Drink
Mid-segment convenience-store water stop
Start→① Hsinchu
70 km
3:21
≈887 kcal
≈2.0 L
km35
① Hsinchu→② Changhua
120 km
5:43
≈1513 kcal
≈3.4 L
km110, km150
② Changhua→③ Tainan
97 km
4:36
≈1220 kcal
≈2.8 L
km240
③ Tainan→Finish
68 km
3:13
≈854 kcal
≈1.9 L
km320
Total
355 km
16:53
≈4475 kcal
≈10.1 L
💊 With Mounjaro, “eat when hungry” fails → run the whole ride on a clock: set a Garmin 45-minute repeating alert; when it sounds, drink half a bottle of sports drink, hungry or not.
🥤 Base = liquid carbs: 2 bottles of sports drink (≈250 kcal/L) + powder packets / concentrated syrup in the saddle bag to top up the bottles. Add solids with a Snickers snack-size pack every 1-1.5 hours (tested on the 9/27 long ride: 3 packs + 6 bottles over 4:43, calories on target, zero GI trouble); at aid stations also eat rice balls and bananas.
🔴 No official aid on the 120 km from Hsinchu to Changhua, about 5:43 of moving time = you have to handle ≈1,500 kcal and ≈3.4 L yourself. Leave Hsinchu with 2 full bottles + 4 powder packets, and find a convenience store around km110 and km150 each to refill water.
🧂 Add electrolytes / salt tablets to each bottle (cramps are prevented mainly this way). Keep drinking when it is cold at night and in the early morning, don’t wait until you are thirsty.
🩺 Medication timing on race day is decided by the doctor (already on the list of three questions to ask).
⏸ Rest Plan
Type
Location
Time limit
What to do
Official aid stations ×3
Hsinchu, Changhua, Tainan
20 minutes
Fill 2 bottles + restock powder packets, eat one solid serving, toilet, apply chamois cream, stretch sit bones / lower back
Convenience-store stops ×5
km35, 110, 150, 240, 320
8 minutes
Refill water, toilet; don’t sit down, don’t scroll your phone
While riding
Every 15-20 minutes
10-15 seconds
Get out of the saddle on purpose (sit bones); change hand position to relax the neck
⏱ Stop budget: 3×20 + 5×8 = 1:40. Moving 16:53 + stops 1:40 = about 18:33 overall. 🚩 Official time limit 20 hours: 11/13 (Fri) 23:00 start in Bali → 11/14 (Sat) 19:00 finish cutoff; station cutoffs Hsinchu 03:00 / Changhua 09:50 / Tainan 15:00 = buffer of about 1.5 hours.
On 9/13 and 8/29 stationary time reached 30%; in an 18-hour event 30% = 5 extra hours. Stop time is the easiest thing to save and also the easiest to lose control of.
🔦 18 hours means you will certainly ride into the dark: front and rear lights + spare batteries, reflective vest.
📋 Rehearsal suggestion: directly simulate “Start → ② Changhua 190 km”, covering the longest unsupported stretch and the only climb, and run the stops and fueling once exactly as in this table.
🚗 Support Car Version (main plan; the convenience-store version above becomes the backup)
With a support car, the number-one risk of “no fueling on the 120 km from Hsinchu to Changhua” disappears. The car does not follow you; it drives ahead to the next meeting point and waits, and each handoff takes 3-5 minutes.
Meeting point
Distance
From previous
Stop
Handoff
Car 1
km35
35 km
3 min
Swap 2 bottles
① Hsinchu (official)
70.3
35 km
15 min
Swap bottles + solids + toilet + chamois cream
Car 2
km110
40 km
3 min
Swap 2 bottles (just past the Miaoli climb)
Car 3
km150
40 km
5 min
Swap bottles + mount lights and add vest before dark
② Changhua (official)
190.2
40 km
15 min
Swap bottles + hot food / hot drink + change into a dry top
Car 4
km240
50 km
3 min
Swap 2 bottles
③ Tainan (official)
286.9
47 km
15 min
Swap bottles + solids + swap light batteries
Car 5
km320
33 km
3 min
Swap 2 bottles, last 35 km
⏱ Stop budget: 3×15 + 5×3-5 = about 1:05 (the convenience-store version is 1:40), about 18:00 overall. The time saved comes from: no queuing to pay, bottles pre-mixed, everything kept in fixed places.
🧴 What to have in the car: pre-mixed sports drink, 14-16 bottles (about 10 L for the whole ride, plus a spare margin) + cooler box, spare powder packets, solids (rice balls, bananas, salty things), hot drinks, night warmth (the November coastal route is windy at night: vest, arm warmers, thin windbreaker), front and rear lights and batteries, spare tube / pump / spare wheel, chamois cream, medicine.
📋 For the driver: .fit / .gpx route, this meeting-point table, live location sharing. The car is much faster than you, so at each point arrive first and wait; take the bottles out of the cooler in advance with the caps open.
⏰ Keep drinking on the clock between meeting points (every 45 minutes). The car only swaps bottles; it doesn’t mean you can wait until you see it to drink.
⚠️ Check the event rules before the start: most long-distance events prohibit vehicles following, tailing, or drafting for riders, and may also restrict where you can park. Meet only at the meeting points; don’t go near the car while moving.
🔁 If the car doesn’t make it: always carry 2 bottles + 2 powder packets on you; the nearest convenience store is the backup (see the convenience-store version above).
📋 Rehearse with the car too: at the 190 km rehearsal have the support car run this table once; the handoff routine needs practice, it shouldn’t be the first time on the day.
🚲 Equipment
This plan is executed with the gear below: indoor intensity sessions run on the trainer in ERG mode, outdoor long rides are read off the Edge 850, and both share the same power meter so the numbers line up.
🚴 Bike / Power
Item
Model
Notes
Road bike
HASA RSX (carbon + Shimano Di2)
50/34 compact chainrings · 172.5mm cranks · bar c-c 44cm. Check Di2 battery before long rides.
Power meter
ThinkRider spider power meter
One data source indoors and out, also set as Rouvy’s power source (more accurate than the trainer’s built-in estimate). Zero-offset before every ride.
Trainer
ThinkRider X7 Pro (direct drive)
ERG mode locks the target power automatically — that’s where all the value of indoor sessions comes from.
Insoles were a fitting-report recommendation, in use since 2026/7/18; they fixed the early sole pain.
Saddle
Stock saddle (width TBD)
⚠️ Fitting measured sit bones at 145mm → 155mm class recommended. Being tracked against sit-bone pressure after 2 hours on long rides.
📟 Electronics / Logging
Item
Model
Notes
Bike computer
Garmin Edge 850
Outdoors, target power / heart rate are set as data fields; long-ride days use a power-ceiling alert that beeps when exceeded. FTP and weight fields must follow measured values, or TSS and training effect are garbage.
HR strap
Chest strap (not watch)
Indoors it connects to both Rouvy and Garmin. Optical wrist HR drifts at high intensity, so it’s not used for analysis.
Indoor platform
Rouvy
Intensity sessions use Workout + ERG; endurance / long rides use real-video routes (in ERG the gradient doesn’t change resistance, so routes can be picked for scenery).
File analysis
Raw .fit files
Parsed second by second to compute NP / IF / VI and time in zones, rather than relying only on platform numbers.
🌬 Indoor essentials
A big fan aimed at the upper body on max — the most underrated piece of indoor gear. Tested 2026/8/13: at the same intensity, fan + in-session drinking lowered HR by 11 bpm and the cramps disappeared.
2 bottles + electrolytes: at least 600ml per one-hour session; the trigger to drink is “each new interval”, not “thirst”.
Trainer mat + sweat towel.
📊 Current baselines
Item
Value
Source
FTP
172 W
2026/8/25 Ramp Test, validated in the 2026/9/15 threshold session